Funcionalidade deploy imagens - BrunodosSantosVaz/big-bang GitHub Wiki
Candidata OCI e promoção por digest
Funcionalidade BB-F-042 · requisito RF-BB-042 · versão documentada 3.0.0 · código 79e4263998323b0c9ecb64721e1c40666bd43efb.
Finalidade
Construir imagens por plataforma e entregar exatamente os digests homologados, com SBOM e scanners.
Atores
Pessoa responsável pelo projeto, IA com posse confirmada e automações explicitamente autorizadas.
Pré-condições
Repositório e raiz corretos, versão instalada e configuração compatível. Para operações de escrita, exige-se autorização vigente, branch adequada e acesso ao recurso envolvido; consultas não conferem permissão adicional.
Fluxo principal
Construir serviços, publicar índice OCI, verificar Trivy em cada plataforma, gerar SBOM e conjunto de digests; preparar alvo, migrar, publicar staging e testar saúde, smoke e ZAP; promover em produção.
Validações
Referências mutáveis não autorizam deploy; plataformas configuradas são auditadas; promoção não reconstrói; segredos ficam no ambiente.
Alternativas e erros
Scan alto/crítico, migração ou staging falha bloqueia candidata. Os alvos existentes preservam o alerta de saúde
em produção e a recuperação explícita; para o alvo personalizado, falha de saúde bloqueia a criação da release.
Permissões
Leitura usa permissões mínimas do repositório. Operações locais respeitam a posse e worktree; escrita no GitHub exige acesso explícito. Esta funcionalidade não concede novas permissões a visitantes nem substitui decisões exigidas pelo fluxo.
Resultados
Resultado esperado: Construir imagens por plataforma e entregar exatamente os digests homologados, com SBOM e scanners. O retorno e os arquivos afetados são conferidos pelos cenários rastreados abaixo; falha impede considerar a operação concluída.
Referência da implementação
Os símbolos abaixo compõem o inventário real do módulo, incluindo auxiliares internos; não representam APIs públicas independentes.
candidata-imagem.sh
candidata-publicar.sh
candidata-sbom.sh
preparar-alvo.sh
promover.sh
staging.sh
trivy.sh
Cenários e rastreabilidade
.bigbang/tests/test_deploy.py:test_pre_release_registra_o_digest.bigbang/tests/test_deploy.py:test_pre_release_recusa_tag_sem_digest.bigbang/tests/test_deploy.py:test_promove_o_mesmo_digest_migrando_antes.bigbang/tests/test_deploy.py:test_candidata_sem_digest_nao_publica.bigbang/tests/test_deploy_custom.py:test_production_health_failure_stops_release_creation
Requisitos · Matriz de rastreabilidade · Referência CLI
Fontes rastreadas
.bigbang/esteira/perfis/deploy/scripts/candidata-imagem.sh.bigbang/esteira/perfis/deploy/scripts/candidata-publicar.sh.bigbang/esteira/perfis/deploy/scripts/candidata-sbom.sh.bigbang/esteira/perfis/deploy/scripts/preparar-alvo.sh.bigbang/esteira/perfis/deploy/scripts/promover.sh.bigbang/esteira/perfis/deploy/scripts/staging.sh.bigbang/esteira/perfis/deploy/scripts/trivy.sh