Status

Current integration state

AreaStateNotes
Vault placementExternal HA Vaultvault-rke2.apps.sub.comptech-lab.com is the OCP-facing endpoint.
ESO operatorInstalled on all four OCP clustersRed Hat External Secrets Operator plus ExternalSecretsConfig/cluster.
Vault authOne Kubernetes auth mount per clusterMounts are kubernetes-hub-dc, kubernetes-hub-dr, kubernetes-spoke-dc, and kubernetes-spoke-dr.
GitOps componentcomponents/platform/external-secrets-vaultCreates only non-secret OpenShift resources.
Smoke validationPassing on all four clustersSecretStore/rke2-vault is valid and ExternalSecret/eso-vault-smoke is synced.
Application onboardingNot startedReal apps still need namespace-specific Vault policies, roles, and ExternalSecrets.

Design

Boundary model

GitOps

Commits and rendered resources

External Vault

Scoped export token hardening

The earlier Vault export repair used current recovery material to restore the broken export job quickly. That has now been replaced by a scoped periodic export token.

Validation

Read-only checks

for c in hub-dc hub-dr spoke-dc spoke-dr; do
  K=/home/ze/codex-opp-agent/ocp-clusters/$c/auth/kubeconfig
  echo "## $c"
  oc --kubeconfig "$K" -n external-secrets get serviceaccount eso-vault-auth vault-token-reviewer
  oc --kubeconfig "$K" -n external-secrets get secretstore rke2-vault
  oc --kubeconfig "$K" -n external-secrets get externalsecret eso-vault-smoke
  oc --kubeconfig "$K" -n external-secrets get secret eso-vault-smoke \
    -o json | jq '{name:.metadata.name, keys:(.data|keys)}'
done

The last command lists only Secret keys. Do not print Secret data values.

Next

Before real app secrets

  1. Create workload-specific Vault policy: grant only the exact KV paths the namespace needs.
  2. Create workload-specific role: bind the policy to the workload namespace and service account.
  3. Add GitOps references only: commit SecretStore or ExternalSecret resources, not secret values.
  4. Validate without leaking data: confirm Ready conditions and target Secret key names only.
  5. Plan reviewer-token rotation: rotate the live TokenReview JWTs before expiry or replace them with a durable rotation process.