Pular para o conteúdo

Padrão de Deploy

Toda aplicação da Serigy é implantada com o mesmo padrão, executado pelo agente em duas etapas. Padronizar reduz erro e torna cada deploy auditável.

flowchart TB
    subgraph s1["1 · Stateful First"]
        CR["Cluster CNPG (PostgreSQL)"] -->|affinity + toleration| DB["rke-db-00"]
        DB --> Svc["Service -rw (ClusterIP)"]
    end
    subgraph s2["2 · Stateless Second"]
        App["Frontend / Backend"] -->|rke-app-01/02| Run["Pods"]
        Run -->|DATABASE_URL = Service| Svc
    end
    Ing["Ingress (público)"] --> Run
  1. Stateful first — cria o Cluster CloudNativePG no nó dedicado, com o bloco de scheduling.
  2. Stateless second — implanta a aplicação nos rke-app-01/02, conectando ao banco pelo Service interno.
  • Cluster CNPG com affinity + tolerations e StorageClass nvme-local.
  • Backup Wal-G → Cloudflare R2 configurado.
  • Segredos vindos do Vault (nada em texto puro).
  • SSO integrado ao LLDAP.
  • Imagem Chainguard quando disponível.
  • Ingress expõe apenas a aplicação de usuário (gestão fica privada).

A aplicação nunca usa IP fixo; referencia o Service do CNPG:

env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: <app>-db-app # secret gerado pelo CNPG
key: uri

Aplicado a GitLab, Nextcloud e Penpot.