aws-localstack

Projeto OpenTofu para provisionar recursos AWS simulados no LocalStack da aplicacao ficticia Quantum.

Endpoint LocalStack:

https://localstack.paulononato.com.br

Recursos

  • S3 bucket para artefatos da aplicacao Quantum.
  • SQS fila principal e DLQ.
  • Lambda Python para processar eventos.
  • IAM role e policies ficticias para a Lambda.
  • CloudWatch Log Group.
  • Secrets Manager com credenciais simuladas.
  • Event source mapping SQS -> Lambda.

Pre-requisitos

  • OpenTofu instalado.
  • AWS CLI opcional para testes.
  • Acesso ao endpoint LocalStack.

Credenciais usadas pelo LocalStack:

export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1

No PowerShell:

$env:AWS_ACCESS_KEY_ID="test"
$env:AWS_SECRET_ACCESS_KEY="test"
$env:AWS_DEFAULT_REGION="us-east-1"

Como usar

Inicializar:

tofu init

Planejar:

tofu plan

Aplicar:

tofu apply

Destruir:

tofu destroy

Testes rapidos

Listar buckets:

aws --endpoint-url https://localstack.paulononato.com.br s3 ls

Enviar mensagem para a fila Quantum:

aws --endpoint-url https://localstack.paulononato.com.br sqs send-message \
  --queue-url "$(tofu output -raw quantum_queue_url)" \
  --message-body '{"event":"quantum.order.created","orderId":"QTM-1001"}'

Ver segredo:

aws --endpoint-url https://localstack.paulononato.com.br secretsmanager get-secret-value \
  --secret-id "$(tofu output -raw quantum_secret_name)"

Observacao sobre RDS

RDS nao esta incluido na edicao Community do LocalStack provisionada no servidor. Este projeto evita RDS e usa apenas os servicos disponiveis na stack atual.

S
Description
OpenTofu project for Quantum resources on LocalStack
Readme 70 KiB
Languages
HCL 41.2%
Python 35.2%
HTML 21.9%
Dockerfile 1.7%