Cut audit-core ClusterSecretStores over to the Mason AppRole
This commit is contained in:
parent
74575c4f32
commit
52d8545952
2 changed files with 32 additions and 18 deletions
|
|
@ -1,10 +1,9 @@
|
||||||
# Template of the railiance-platform add-on store. Prefer applying from:
|
# Template of the railiance-platform add-on store. Prefer applying from:
|
||||||
# ~/railiance-platform/argocd/platform-addons/openbao-secretstore/openbao-audit-core.clustersecretstore.yaml
|
# ~/railiance-platform/argocd/platform-addons/openbao-secretstore/openbao-audit-core.clustersecretstore.yaml
|
||||||
#
|
#
|
||||||
# Do not apply until Secret external-secrets/openbao-audit-core-eso-token exists
|
# AppRole auth (ops-mason plan audit-core-openbao-runtime-custody).
|
||||||
# (scripts/openbao-eso-token-apply.sh). This store is KV-only: sender registry
|
# Prerequisite: Secret external-secrets/openbao-audit-core-approle
|
||||||
# lives at platform/workloads/audit-core/senders. Database leases use the
|
# (role-id / secret-id), delivered by mason phase 4.
|
||||||
# sibling store openbao-audit-core-database (engine path, not KV).
|
|
||||||
---
|
---
|
||||||
apiVersion: external-secrets.io/v1
|
apiVersion: external-secrets.io/v1
|
||||||
kind: ClusterSecretStore
|
kind: ClusterSecretStore
|
||||||
|
|
@ -17,22 +16,25 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
provider:
|
provider:
|
||||||
vault:
|
vault:
|
||||||
# In-cluster OpenBao on railiance01, not the public bao.coulomb.social UI.
|
|
||||||
server: http://openbao.openbao.svc:8200
|
server: http://openbao.openbao.svc:8200
|
||||||
path: platform
|
path: platform
|
||||||
version: v2
|
version: v2
|
||||||
auth:
|
auth:
|
||||||
tokenSecretRef:
|
appRole:
|
||||||
name: openbao-audit-core-eso-token
|
path: approle
|
||||||
namespace: external-secrets
|
roleRef:
|
||||||
key: token
|
name: openbao-audit-core-approle
|
||||||
|
namespace: external-secrets
|
||||||
|
key: role-id
|
||||||
|
secretRef:
|
||||||
|
name: openbao-audit-core-approle
|
||||||
|
namespace: external-secrets
|
||||||
|
key: secret-id
|
||||||
conditions:
|
conditions:
|
||||||
- namespaces:
|
- namespaces:
|
||||||
- audit-core
|
- audit-core
|
||||||
---
|
---
|
||||||
# Database engine, not KV. Same ESO token, different mount. Generators cannot
|
# Database engine, not KV. Same AppRole, different mount.
|
||||||
# read a token Secret from another namespace, so leases come through this
|
|
||||||
# store rather than VaultDynamicSecret.
|
|
||||||
apiVersion: external-secrets.io/v1
|
apiVersion: external-secrets.io/v1
|
||||||
kind: ClusterSecretStore
|
kind: ClusterSecretStore
|
||||||
metadata:
|
metadata:
|
||||||
|
|
@ -48,10 +50,16 @@ spec:
|
||||||
path: database
|
path: database
|
||||||
version: v1
|
version: v1
|
||||||
auth:
|
auth:
|
||||||
tokenSecretRef:
|
appRole:
|
||||||
name: openbao-audit-core-eso-token
|
path: approle
|
||||||
namespace: external-secrets
|
roleRef:
|
||||||
key: token
|
name: openbao-audit-core-approle
|
||||||
|
namespace: external-secrets
|
||||||
|
key: role-id
|
||||||
|
secretRef:
|
||||||
|
name: openbao-audit-core-approle
|
||||||
|
namespace: external-secrets
|
||||||
|
key: secret-id
|
||||||
conditions:
|
conditions:
|
||||||
- namespaces:
|
- namespaces:
|
||||||
- audit-core
|
- audit-core
|
||||||
|
|
|
||||||
|
|
@ -213,8 +213,14 @@ are `SecretSynced`. ops-mason plan
|
||||||
founder approve to replace the interim ESO token with an AppRole. Catalog
|
founder approve to replace the interim ESO token with an AppRole. Catalog
|
||||||
draft: `warden route find "audit-core senders" --all`.
|
draft: `warden route find "audit-core senders" --all`.
|
||||||
|
|
||||||
Remaining before T02 done: approve the Mason plan (AppRole cutover + empty
|
Mason plan approved 2026-08-13 and built: AppRole
|
||||||
KV path), then a live rotation drill. Unseal OpenBao only if it is sealed.
|
`external-secrets-audit-core`, Secret `openbao-audit-core-approle`, both
|
||||||
|
ClusterSecretStores on AppRole and `Valid`. Interim ESO token Secret
|
||||||
|
removed. Receiver stayed Ready.
|
||||||
|
|
||||||
|
Remaining before T02 done: a live rotation drill (refresh lease, confirm
|
||||||
|
no delivery gap). Empty senders KV path is a later wrap-migrate, not a
|
||||||
|
founder paste.
|
||||||
|
|
||||||
## T03 - Deploy the receiver
|
## T03 - Deploy the receiver
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue