Skip to content

Vault — Arquitetura

Arquitetura Lógica

flowchart TB
    subgraph tools[Cluster TOOLS]
        VAULT[Vault v0.31.0]
    end

    subgraph oci[OCI]
        OBJ[Object Storage vault-TOOLS]
        LOCK[Bucket de lock vault_lock-TOOLS]
        KMS[OCI KMS auto-unseal]
        OCV[OCI Vault Service<br/>unseal keys]
    end

    subgraph clusters[Consumidores]
        ESOH[ESO HML]
        ESON[ESO NOX]
        GHA[GitHub Actions]
    end

    VAULT --> OBJ
    VAULT --> LOCK
    VAULT --> KMS
    VAULT --> OCV
    ESOH --> VAULT
    ESON --> VAULT
    GHA --> VAULT

Fonte de verdade na infraestrutura

Os pontos principais estão em:

  • config/tools/vault/config.hcl
  • config/tools/vault-config/config.hcl
  • infrastructure/environments/tools/vault/terragrunt.hcl
  • infrastructure/environments/tools/vault-config/stack.tm.hcl

O que a configuração declara

Vault base

Em config/tools/vault/config.hcl:

  • vault_host = vault.nox.app.br
  • vault_chart_version = 0.31.0
  • storage_bucket = vault-TOOLS
  • storage_lock_bucket = vault_lock-TOOLS

Vault config

Em config/tools/vault-config/config.hcl:

  • enable_vault_github_integration = true

Terragrunt do Vault

O terragrunt.hcl do stack de Vault mostra dependências em:

  • cluster OKE
  • OCI KMS
  • kubeconfig do cluster

Também injeta inputs de KMS, kubeconfig e caminhos de init/unseal para o módulo de Vault.

Ordenação via Terramate

O stack.tm.hcl do vault-config declara:

  • after = ["../vault", "../external-secrets"]
  • before = ["../signoz"]

Isso mostra que a configuração lógica do Vault só entra depois do Vault provisionado e da camada de External Secrets.

Itens sensíveis

Não devem ser copiados para a documentação:

  • tokens de acesso
  • unseal keys em texto puro
  • conteúdo de arquivos operacionais como vault-auth.env