Format:
Export:

Test cases(26 of 50)

Show
Priority
Category
0/26 completed0%

Complete the OpenBao prerequisites before running these tests. Go to prerequisites

Enable TLS end-to-end on OpenBao (OpenShift)
Manual init and unseal — loop script (Approach 1)
Seal migration — Shamir to Transit auto-unseal
Seal migration — Shamir to AWS KMS auto-unseal

Requires AWS KMS, IAM permissions, and credentials. Independent of transit auto-unseal (UNSEAL-002).

Enable and Use KV v2 Secrets Engine
KV v2 Metadata and Custom Metadata
KV Secret Rotation Pattern with CAS

Implement a safe secret rotation pattern using check-and-set (CAS) to prevent concurrent write conflicts. Manual CLI rotation is followed by a CronJob that mounts the rotation script from a ConfigMap and authenticates to OpenBao via Kubernetes auth (ServiceAccount JWT → short-lived OpenBao token).

Prerequisites checklist

Confirm these before running steps:

1Manual rotation — read current version for CAS
bao kv get -format=json secret/myapp/config | jq '.data.metadata.version'
2Manual rotation — write with CAS and UTC timestamp
VERSION=$(bao kv get -format=json secret/myapp/config | jq -r '.data.metadata.version')
bao kv put -cas=${VERSION} secret/myapp/config password=newP@ssw0rd rotated_at=$(date -u +%Y-%m-%dT%H:%M:%SZ)
3Verify the rotation
bao kv get secret/myapp/config
→ new password shown; version incremented
4Verify rollback — previous version still readable
bao kv get -version=${VERSION} secret/myapp/config
5OpenBao — policy for the rotation workload
bao policy write secret-rotation - <<'EOF'
path "secret/data/myapp/config" {
  capabilities = ["create", "update", "read"]
}
path "secret/metadata/myapp/config" {
  capabilities = ["create", "update", "read"]
}
EOF
→ Success! Uploaded policy: secret-rotation
6OpenBao — enable Kubernetes auth (skip if already enabled)
bao auth list | grep kubernetes/ || bao auth enable kubernetes
→ Success! Enabled kubernetes auth method at: kubernetes/
7OpenBao — configure Kubernetes auth (one-time; run from openbao-0 with in-cluster SA creds)
Log in to openbao-0 with the token of your exported JSON file.
oc exec -ti openbao-0 -n openbao -- bao login "$(jq -r '.root_token' openbao-init.json)"
Configure Kubernetes auth
oc exec openbao-0 -n openbao -- sh -c 'bao write auth/kubernetes/config token_reviewer_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" kubernetes_host="https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_SERVICE_PORT" kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
→ Success! Data written to: auth/kubernetes/config
8OpenBao — Kubernetes auth role bound to CronJob ServiceAccount
bao write auth/kubernetes/role/secret-rotation bound_service_account_names=openbao-rotation bound_service_account_namespaces=openbao policies=secret-rotation ttl=15m
→ Success! Data written to: auth/kubernetes/role/secret-rotation
9Copy the Kubernetes objects from the Commands / YAML tab
Copy everything between cat <<'EOF' | oc apply -f - and EOF
This includes three objects:
- ServiceAccount to run the CronJob
- ConfigMap to store the rotation script
- CronJob to schedule the rotation
10Test — trigger a one-off Job from the CronJob
oc create job --from=cronjob/secret-rotation manual-rotate-1 -n openbao
oc logs job/manual-rotate-1 -n openbao -f
→ login succeeds, CAS write succeeds, Secret rotated message printed
Configure PKI Engine as Internal CA
Auto-Rotate TLS Certificates with cert-manager
Cross-Sign External CA with OpenBao PKI
Dynamic PostgreSQL Credentials
Dynamic MySQL/MariaDB Credentials
Kubernetes Auth Method
OIDC Authentication with Keycloak/DEX
Raft Cluster Operations
Raft Snapshot and Restore
Full OpenBao Backup Strategy
Disaster Recovery Restore
TLS Certificates for OpenShift Routes via PKI
Dynamic PostgreSQL Credentials for Applications
Multi-Tenant Secret Isolation
Encryption as a Service - Transit Encryption for Application Data
External Secrets Operator with OpenBao
CSI Secrets Store Driver with OpenBao
OpenBao Agent Sidecar Injector
Sealed Secrets Migration to OpenBao

Search test plan

Type at least 2 characters to search

Keyboard shortcuts

P
Go to prerequisites
T
Go to test cases
G
Go to glossary
D
Go to diagrams
J
Next card
K
Previous card
Enter
Open / close focused card
/
Open search
CtrlK
Open search modal
?
Show shortcuts
Esc
Close panel / blur search
/ open searchJ/K next / previous card? keyboard shortcutsEsc close panels