Use IAM application resource-control and policy Scoped backup access. OpenBao path is platform/workloads/railiance/backup/object-storage. rapp-postgres keeps Secret platform-pg-backup-s3 as the first projection.
33 lines
1.2 KiB
YAML
33 lines
1.2 KiB
YAML
# DRAFT — CCR-2026-0012. Do not apply until the CCR is approved and the
|
|
# KV values are real. Deploy on railiance01 (first consumer lives in
|
|
# databases), not the CoulombCore ArgoCD kustomization.
|
|
#
|
|
# Prereq: ESO can authenticate to OpenBao with policy
|
|
# workload-kv-read-backup-object-storage. Interim railiance01 identity
|
|
# may be AppRole or a child token; Kubernetes auth role
|
|
# external-secrets-backup-object-storage is the CCR-declared steady state.
|
|
# Add further namespace conditions when another backup consumer is bound.
|
|
apiVersion: external-secrets.io/v1
|
|
kind: ClusterSecretStore
|
|
metadata:
|
|
name: openbao-backup-object-storage
|
|
labels:
|
|
app.kubernetes.io/part-of: railiance-gitops
|
|
railiance-platform/component: external-secrets
|
|
app.kubernetes.io/name: backup-object-storage
|
|
spec:
|
|
provider:
|
|
vault:
|
|
server: http://openbao.openbao.svc:8200
|
|
path: platform
|
|
version: v2
|
|
auth:
|
|
kubernetes:
|
|
mountPath: kubernetes
|
|
role: external-secrets-backup-object-storage
|
|
serviceAccountRef:
|
|
name: external-secrets
|
|
namespace: external-secrets
|
|
conditions:
|
|
- namespaces:
|
|
- databases
|