Skip to content

Vault — Workflows de Tenant

Visão Geral

O Vault faz parte do caminho crítico dos workflows:

  • .github/workflows/tenant-create.yml
  • .github/workflows/tenant-create-dedicated.yml

Sem a criação ou clonagem correta dos secrets, o tenant é criado só parcialmente: a configuração pode existir em código, mas as aplicações não recebem secrets válidos no cluster.

Workflow de tenant comum

No tenant-create.yml, a sequência relevante é:

  1. check-vault-secrets
  2. vault-secrets-management
  3. pr-management
  4. vault-secrets-metadata

O workflow recebe VAULT_ADDR e VAULT_TOKEN por secrets do GitHub Actions, instala o Vault CLI e depois verifica se o tenant já possui secrets.

O que cada ação faz

check-vault-secrets

  • usa scripts/vault/vault-backup.sh -l
  • verifica se já existe conteúdo em secret/{ENV}/tenants/{tenant}
  • evita recriação acidental de secrets

vault-secrets-management

  • usa vault-backup.sh e vault-update-value.sh
  • copia secrets de um tenant de origem, normalmente template
  • filtra e cria apenas as aplicações solicitadas no workflow comum
  • transforma referências internas como URLs, pool names e paths

vault-secrets-metadata

  • grava metadados de rastreabilidade nos secrets após criação da PR
  • vincula a operação ao número da pull request

Workflow de tenant dedicado

No tenant-create-dedicated.yml, a cadeia é equivalente, mas o foco é um tenant com DATABASE_TYPE=dedicated.

As diferenças mais relevantes são:

  • o workflow inclui parâmetros de infraestrutura de banco e sizing
  • create-tenant-config roda com operation: infra_config
  • a criação dos secrets ocorre sem a lista explícita de aplicações do workflow comum

Por que isso importa para a documentação operacional

Ao documentar onboarding de tenant, é obrigatório explicar que:

  1. criar o arquivo HCL do tenant não basta
  2. o Vault precisa ser verificado e populado
  3. ESO depende desses secrets para materializar a configuração no cluster
  4. sem isso, ArgoCD aplica manifests, mas os pods falham ou ficam incompletos

Cadeia resumida

flowchart LR
    WF[Workflow de tenant] --> CHECK[check-vault-secrets]
    CHECK --> COPY[vault-secrets-management]
    COPY --> PR[PR Management]
    PR --> META[vault-secrets-metadata]
    META --> ESO[ESO sincroniza no cluster]
    ESO --> POD[Pods recebem env/config]