Pular para o conteúdo principal

Guia Docker + LocalStack (SQS/S3/Secrets)

Objetivo

Antecipar localmente partes das Fases D/E que dependem de serviços AWS, sem usar ambiente de produção.

O que este guia cobre

  • Simulação de SQS, S3 e Secrets Manager com LocalStack.
  • Bot em container com envio real para fila (DISABLE_QUEUE_SEND=false).
  • Smoke E2E: bot-handler enfileira job de exportação e worker-jobs consome.

Pré-requisitos

  • Docker Desktop em execução.
  • Dependências do workspace instaladas (npm ci).

Subir stack

Na raiz do projeto:

npm run docker:localstack:up
npm run docker:dynamo:init
npm run localstack:init

Isso sobe:

  • dynamodb-local
  • localstack
  • bot-handler-localstack (porta 3901)

Rodar smoke E2E

npm run smoke:localstack:bot
npm run smoke:localstack:worker

Atalho completo:

npm run docker:localstack:smoke

Resultado esperado

  • Script do bot retorna ok: true com smoke: localstack-bot.
  • Script do worker retorna ok: true com smoke: localstack-worker.

Encerrar ambiente

npm run docker:localstack:down

Limitações

  • Não substitui deploy real em AWS (IAM, API Gateway, Lambda, EventBridge).
  • Não valida SSO/Entra ID real no Teams.