UlisesGascon / sample-terraform-localstack

Sample project to use Terraform, Localstack (AWS Local) and Docker compose with Nodejs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sample terraform localstack

Sample project to use Terraform, Localstack (AWS Local) and Docker compose with Nodejs.

Important

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'

What is this about?

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/ and http://localhost:8055/#/infra
  • 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
    • Check http://localhost:4572/ and http://localhost:8055/#/infra
  • You need to run SDK Scripts?
    • Install Node
    • Check aws.js and upload-demo.js
    • Install dependencies npm install
    • Run the script node upload-demo
    • Check ./localstack/data files

Context (Please Read)

About

Sample project to use Terraform, Localstack (AWS Local) and Docker compose with Nodejs

License:GNU General Public License v3.0


Languages

Language:JavaScript 81.3%Language:HCL 18.7%