Logica do SistemaSecao 15
Infraestrutura — Topologia Real
Kubernetes
- Producao: AWS EKS, namespace
cargofleet - Develop/Homolog: k3s com Traefik ingress (com
insecureSkipVerify: true— INFRA-05) - 1 replica por servico em todos os ambientes
- Strategy
Recreateem todos os deployments de producao — downtime garantido a cada deploy - Zero probes (liveness/readiness/startup) em todos os deployments
- Zero NetworkPolicies em todos os ambientes
- Zero securityContext nos pods — todos os containers rodam como root
Docker
- Backend:
mcr.microsoft.com/dotnet/sdk:9.0com instalacao de Node.js/npm viaapt-getsem versoes fixadas - Frontend:
npm installsem--ci— builds nao deterministicos - AuthServer: gera pfx OpenIddict no Dockerfile com senha hardcoded (INFRA-01) — chave de assinatura JWT embutida na imagem
- Imagens tagueadas com SHA e
:latest, mas manifests de producao usam apenas:latest
Redis (Producao)
- Sem autenticacao (
requirepassausente no ConfigMap) - Volume
emptyDir— todos os dados de sessao perdidos em restart do pod maxmemory: 2mb— insuficiente para cache ABP com 22+ tenants (eviction silenciosa)
AWS SSM (nao integrado)
- Script
.github/scripts/get_params.pyexiste para ler secrets do AWS SSM Parameter Store e gravar em.env - NAO e utilizado em nenhum dos 3 pipelines CI/CD
- Secrets continuam hardcoded nos appsettings.json e docker-compose files
CI/CD (GitHub Actions)
Develop(branchdevelop),Homolog(branchhomolog),Production(branchmaster)checkout->configure-aws->ecr-login->docker-build->docker-push->kubectl-applymaster— sem aprovacao manualgemini(auto-hospedado) — hipotese: pode ser o mesmo k3s de desenvolvimento