# GCP Cloud Run Deployment

> Use esta skill para desenhar, revisar ou documentar deploy de APIs, workers e jobs em Cloud Run para esta POC .NET. Cobre container, porta, variaveis, secrets, service account, escalabilidade, health, logs, Cloud SQL e limites operacionais.

- Skill: `rodri-oliveira-dev/gcp-cloud-run-deployment` (Agent Skill)
- Install (CLI): `npx skillmds@latest add rodri-oliveira-dev/gcp-cloud-run-deployment`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rodri-oliveira-dev/gcp-cloud-run-deployment/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: rodri-oliveira-dev (https://skillmd.com/u/rodri-oliveira-dev)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rodri-oliveira-dev/gcp-cloud-run-deployment

---


# Objetivo

Orientar a preparacao de APIs e workers .NET deste repositorio para execucao em Cloud Run, sem executar deploy real automaticamente.

# Quando usar

- Planejar ou revisar deploy de `LedgerService.Api`, `BalanceService.Api`, workers ou jobs em Cloud Run.
- Ajustar Dockerfile, configuracao de porta, health/readiness, variaveis de ambiente, secrets ou service account para Cloud Run.
- Avaliar se um componente deve ser Cloud Run service, job, worker pool ou GKE.
- Documentar estrategia de deploy, escalabilidade, logs, metricas, custos ou limites.

# Quando nao usar

- Rodar stack local Docker Compose sem relacao com Cloud Run.
- Criar Cloud SQL, IAM ou rede como foco principal. Combine com as skills GCP correspondentes.
- Executar deploy real sem pedido explicito.

# Mapeamento inicial da POC

- APIs HTTP tendem a mapear para Cloud Run services.
- Workers Kafka exigem avaliacao cuidadosa: worker pool, job, GKE ou alternativa gerenciada dependem do modelo de mensageria escolhido.
- PostgreSQL local deve ser substituido por Cloud SQL ou por outro servico explicitamente decidido.
- Imagens devem ficar preferencialmente em Artifact Registry.
- Segredos devem vir de Secret Manager ou mecanismo equivalente, nunca de arquivo versionado.

# Regras de decisao

Nao introduza health/readiness, portas HTTP, endpoints auxiliares, sidecars ou novos recursos de Cloud Run apenas por checklist.

Antes de propor mudanca operacional, classifique se ela e:

1. exigida pela plataforma;
2. util, mas opcional;
3. valida apenas em producao;
4. desnecessaria para a POC;
5. potencialmente prejudicial pelo custo, complexidade ou carga operacional.

Para workers e jobs, nao introduza endpoints HTTP de health/readiness por padrao. Avalie primeiro se o ambiente de execucao exige probes HTTP ou se metricas, logs, exit code, retry policy e alertas cobrem melhor a saude operacional.

Se endpoints forem realmente necessarios, mantenha-os leves e baseados em estado interno do processo. Evite readiness que consulte banco pesado, fila, DLQ ou views de grande volume em tempo real.

# Passos

1. Leia `README.md`, `docs/architecture/`, `docs/observability.md`, Dockerfiles, Compose e ADRs relacionadas.
2. Classifique cada workload como service, worker pool, job ou fora de Cloud Run.
3. Confirme compatibilidade do container com porta dinamica, startup, shutdown e sinais de encerramento.
4. Para APIs HTTP, preserve health/readiness ja existentes quando fizerem sentido para a plataforma.
5. Para workers e jobs, avalie se health/readiness HTTP e realmente necessario ou se observabilidade por metricas e alertas e mais adequada.
6. Modele variaveis por ambiente sem versionar secrets.
7. Defina service account dedicada por workload com menor privilegio.
8. Avalie conectividade com Cloud SQL, Kafka/Pub/Sub, Keycloak/OIDC e observabilidade.
9. Defina limites de CPU, memoria, concorrencia, timeout e escala conforme o perfil do workload.
10. Atualize documentacao e ADR quando a decisao afetar estrategia de deploy, operacao, conectividade, observabilidade, seguranca ou custo.

