Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

Commit

Permalink
feat(129): Publica msg nova cobrança
Browse files Browse the repository at this point in the history
  • Loading branch information
dannevesdantas committed Jun 26, 2024
1 parent a686a22 commit 83082bb
Show file tree
Hide file tree
Showing 32 changed files with 2,048 additions and 151 deletions.
17 changes: 15 additions & 2 deletions .env.template
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,21 @@ DB_PASSWORD="pgpwd"
DB_NAME=pedidos
DB_SSL=false

URL_API_PAGAMENTOS=http://localhost:3003/pedido
# AWS SDK
AWS_ACCESS_KEY_ID=test
AWS_SECRET_ACCESS_KEY=test
AWS_DEFAULT_REGION=us-east-1
# Para consultar a chave de acesso siga as instruções em
# https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey
# Obs.: Não é necessário preencher as credenciais acima quando estiver executando no EKS

# Amazon Cognito
COGNITO_USER_POOL_ID=
COGNITO_CLIENT_ID=
COGNITO_CLIENT_ID=
# Para provisionar o Cognito na AWS, clone o repositório rms-iac e siga as instruções no README

# Amazon SQS
# Fila de cobrança
NOME_FILA_COBRANCA=nova-cobranca
URL_FILA_COBRANCA=http://sqs.us-east-1.localhost.localstack.cloud:4566/000000000000/nova-cobranca
REGION_FILA_COBRANCA=us-east-1
14 changes: 7 additions & 7 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ jobs:
# A ordem dos arquivos importa no Kubernetes
run: |
kubectl apply \
-f k8s/production/bff/namespace.yaml \
-f k8s/production/bff/config.yaml \
-f k8s/production/bff/service-account.yaml \
-f k8s/production/bff/secret-provider.yaml \
-f k8s/production/bff/deployment.yaml \
-f k8s/production/bff/service.yaml \
-f k8s/production/bff/hpa.yaml
-f k8s/production/api/namespace.yaml \
-f k8s/production/api/config.yaml \
-f k8s/production/api/service-account.yaml \
-f k8s/production/api/secret-provider.yaml \
-f k8s/production/api/deployment.yaml \
-f k8s/production/api/service.yaml \
-f k8s/production/api/hpa.yaml
# Baseado na Action de exemplo "Deploy to Amazon ECS" do GitHub
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,7 @@ lerna-debug.log*
.env.development.local
.env.test.local
.env.production.local
.env.local
.env.local

# Docker volumes
/volume
23 changes: 22 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,35 @@ services:
DB_PASSWORD: ${DB_PASSWORD:-pgpwd}
DB_NAME: ${DB_NAME:-rms}
DB_SSL: ${DB_SSL:-false}
URL_API_PAGAMENTOS: http://api-pagamentos:3003/pedido
COGNITO_USER_POOL_ID: ${COGNITO_USER_POOL_ID:-}
COGNITO_CLIENT_ID: ${COGNITO_CLIENT_ID:-}
NOME_FILA_COBRANCA: ${NOME_FILA_COBRANCA:-nova-cobranca}
URL_FILA_COBRANCA: http://localstack:4566/000000000000/nova-cobranca
REGION_FILA_COBRANCA: ${REGION_FILA_COBRANCA:-us-east-1}
restart: always
networks:
- rms
depends_on:
- db-pedidos
- localstack

localstack:
container_name: "${LOCALSTACK_DOCKER_NAME:-localstack-main}"
image: localstack/localstack:3.5.0
ports:
- "127.0.0.1:4566:4566" # LocalStack Gateway
- "127.0.0.1:4510-4559:4510-4559" # external services port range
environment:
# LocalStack configuration: https://docs.localstack.cloud/references/configuration/
- DEBUG=${DEBUG:-0}
- SERVICES=sqs
volumes:
- "./init-aws.sh:/etc/localstack/init/ready.d/init-aws.sh" # ready hook
- "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
restart: always
networks:
- rms

networks:
rms:
Expand Down
4 changes: 4 additions & 0 deletions init-aws.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash
awslocal sqs create-queue --queue-name nova-cobranca
awslocal sqs create-queue --queue-name cobranca-gerada
awslocal sqs create-queue --queue-name falha-cobranca
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ data:
DB_SSL: "false"
ENABLE_MERCADOPAGO: "false"
IDEMPOTENCY_KEY_MERCADOPAGO: "a005986e-f97c-4274-91cf-b32d2672824f"
NOME_FILA_COBRANCA: nova-cobranca
URL_FILA_COBRANCA:
REGION_FILA_COBRANCA: us-east-1
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ data:
DB_USERNAME: cGd1c2Vy
DB_PASSWORD: cGdwd2Q=
ACCESS_TOKEN_MERCADOPAGO: # Informe o Access Token do Mercado Pago aqui, em base64
AWS_ACCESS_KEY_ID:
AWS_SECRET_ACCESS_KEY:
AWS_DEFAULT_REGION: us-east-1
COGNITO_USER_POOL_ID: # Informe o ID do grupo de usuários do Amazon Cognito aqui, em base64
COGNITO_CLIENT_ID: # Informe o ID do cliente do Amazon Cognito aqui, em base64

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,21 @@ spec:
secretKeyRef:
name: cognito-secret
key: COGNITO_CLIENT_ID
- name: NOME_FILA_COBRANCA
valueFrom:
secretKeyRef:
name: sqs-fila-nova-cobranca-secret
key: NOME_FILA_COBRANCA
- name: URL_FILA_COBRANCA
valueFrom:
secretKeyRef:
name: sqs-fila-nova-cobranca-secret
key: URL_FILA_COBRANCA
- name: REGION_FILA_COBRANCA
valueFrom:
secretKeyRef:
name: sqs-fila-nova-cobranca-secret
key: REGION_FILA_COBRANCA
ports:
- containerPort: 3002
resources:
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,15 @@ spec:
key: COGNITO_USER_POOL_ID
- objectName: COGNITO_CLIENT_ID
key: COGNITO_CLIENT_ID
- secretName: sqs-fila-nova-cobranca-secret # Nome do Secret que será montado automaticamente contendo os segredos do AWS Secrets Manager
type: Opaque
data:
- objectName: NOME_FILA_COBRANCA
key: NOME_FILA_COBRANCA
- objectName: URL_FILA_COBRANCA
key: URL_FILA_COBRANCA
- objectName: REGION_FILA_COBRANCA
key: REGION_FILA_COBRANCA
parameters:
# Informe abaixo no campo objectName os nomes dos Segredos do AWS Secrets Manager que deseja acessar.
# Certifique-se de que as Keys declaradas abaixo existem e estão preenchidas na AWS, caso contrário receberá o erro "Failed to fetch secret from all regions"
Expand All @@ -46,3 +55,12 @@ spec:
objectAlias: "COGNITO_USER_POOL_ID"
- path: "COGNITO_CLIENT_ID"
objectAlias: "COGNITO_CLIENT_ID"
- objectName: "prod/RMS/SQSNovaCobranca"
objectType: "secretsmanager"
jmesPath:
- path: "QUEUE_NAME"
objectAlias: "NOME_FILA_COBRANCA"
- path: "QUEUE_URL"
objectAlias: "URL_FILA_COBRANCA"
- path: "QUEUE_REGION"
objectAlias: "REGION_FILA_COBRANCA"
File renamed without changes.
Loading

0 comments on commit 83082bb

Please sign in to comment.