Sample project to use Terraform, Localstack (AWS Local) and Docker compose with Nodejs.
As this is a simple example I will use only this references. Please change it 😉
AWS_ACCESS_KEY_ID='123'
AWS_SECRET_KEY='xyz'
AWS_BUCKET_NAME='demo-bucket'
AWS_BUCKET_REGION='us-east-1'
Previous Steps...
- You need to install Docker and Docker Compose to play this game 😉
- You need to simulate AWS in local?.
- I used Localstack as part of the docker compose dependencies. Let's keep it simple and clean 💪
- Just run
docker-compose up
- Check
http://localhost:8055/#/infra
Time to play
- You need to run/test Terraform scripts?
- You need to install Terraform in your machine (for mac:
brew install terraform
) - Check the example file
main.tf
- Initialize the enviroment
terraform init
- Execute it
terraform apply
- Check
http://localhost:4572/
andhttp://localhost:8055/#/infra
- You need to install Terraform in your machine (for mac:
- You need to run AWS Cli commands?
- You need to install AWS CLI (for mac:
brew install awscli
) - Example of bucket creation
- Update you config
aws config
check.env
- Create Bucket
aws --endpoint-url=http://localhost:4572 s3 mb s3://demo-bucket
- Attach an ACL to the bucket so it is readable
aws --endpoint-url=http://localhost:4572 s3api put-bucket-acl --bucket demo-bucket --acl public-read
- Update you config
- Check
http://localhost:4572/
andhttp://localhost:8055/#/infra
- You need to install AWS CLI (for mac:
- You need to run SDK Scripts?
- Install Node
- Check
aws.js
andupload-demo.js
- Install dependencies
npm install
- Run the script
node upload-demo
- Check
./localstack/data
files