Repositório de deploy da aplicação Course Catalog, no modelo GitOps.
Aqui está descrito o estado desejado de cada ambiente. O Argo CD observa este repositório e aplica no cluster Kubernetes o que estiver na branch main.
.
├── base/ # manifests comuns a todos os ambientes
│ ├── kustomization.yaml
│ ├── mariadb.yaml # Secret, PVC, Deployment e Service do banco
│ └── web.yaml # Secret, Deployment, Service e Ingress da aplicação
└── overlays/
├── homolog/ # namespace homolog, 1 réplica
└── production/ # namespace production, 2 réplicas
| Ambiente | Namespace | Endereço |
|---|---|---|
| Homologação | homolog |
http://homolog.192.168.88.30.nip.io |
| Produção | production |
http://production.192.168.88.30.nip.io |
A versão da aplicação em cada ambiente é a linha newTag do arquivo kustomization.yaml do overlay:
images:
- name: course-catalog
newName: 192.168.88.20:8082/course_catalog
newTag: "0.1"- Homologação: o pipeline de CI altera o
newTage envia o commit direto para amain. - Produção: o pipeline abre um Pull Request alterando o
newTag. A versão só entra após a aprovação.
Para voltar uma versão, reverta o commit que a promoveu.
Os comandos abaixo mostram os manifests finais de cada ambiente, sem aplicar nada no cluster:
kubectl kustomize overlays/homolog
kubectl kustomize overlays/production