Serviços de Plataforma
Os serviços de plataforma (monitoramento, logging, ingress, cert-manager) usam o projeto platform e seguem a mesma convenção. Rodam no cluster de gerenciamento ou em todos os clusters dependendo do tipo.
Layout de Namespaces
cluster-mgmt
├── argocd/ ← fixo, não convenção
├── crossplane-system/ ← fixo, não convenção
├── platform-mgmt-monitoring/
├── platform-mgmt-logging/
└── platform-mgmt-ingress/
cluster-dev / cluster-staging
├── platform-{env}-monitoring/
└── platform-{env}-logging/
cluster-prod (serviços adicionais apenas para prod)
├── platform-prod-monitoring/
├── platform-prod-logging/
├── platform-prod-ingress/ ← apenas prod
└── platform-prod-cert-manager/ ← apenas prod
Namespaces Fixos Carregam Labels de Plataforma
argocd e crossplane-system não seguem a convenção de nomenclatura, mas carregam labels semânticas para rastreabilidade:
metadata:
name: argocd
labels:
project: platform
service: argocd
env: mgmt
backstage.io/component: platform-argocd
ApplicationSets para Plataforma (Multiple Sources)
Os serviços de plataforma usam o recurso Multiple Sources do ArgoCD para fazer o deploy de Helm charts externos diretamente de seus repositórios upstream, enquanto injetam o values.yaml do nosso repositório GitOps. Isso evita manter arquivos Chart.yaml locais.
# platform-gitops/argocd/applicationsets/platform-services-all.yaml
spec:
generators:
- matrix:
generators:
- list:
elements:
- service: sealed-secrets
wave: "-20"
chartRepo: https://bitnami-labs.github.io/sealed-secrets
chart: sealed-secrets
version: "2.13.3"
# ...
- clusters:
selector:
matchExpressions:
- {key: env, operator: In, values: [mgmt, dev, staging, prod]}
template:
spec:
sources:
- repoURL: "{{chartRepo}}"
chart: "{{chart}}"
targetRevision: "{{version}}"
helm:
valueFiles:
- $values/k8s/platform/_base/{{service}}/values.yaml
- $values/k8s/platform/{{name}}/{{service}}/values.yaml
- repoURL: https://github.com/myorg/platform-gitops
targetRevision: HEAD
ref: values
Serviços de Plataforma — Referência de Tiers e Waves
| Wave | Serviço | Tier |
|---|---|---|
| -20 | sealed-secrets | Todos os clusters |
| -10 | cert-manager, reflector | Todos os clusters |
| -5 | cloudnative-pg | Todos os clusters |
| 0 | kong, kube-prometheus-stack, redis | Todos / mgmt |
| +5 | alloy, loki, pgadmin, redisinsight | Todos / mgmt |
| +10 | headlamp, n8n, ollama | Apenas mgmt |
Tier A (todos os clusters): sealed-secrets, cert-manager, reflector, kong, kube-prometheus-stack, alloy, cloudnative-pg
Tier B (apenas mgmt): loki, headlamp, redis, redisinsight, pgadmin, n8n, ollama, argocd