Manual init and unseal — loop script (Approach 1)
Test cases(26 of 50)
Complete the OpenBao prerequisites before running these tests. Go to prerequisites
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
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
Perform operational tasks on an OpenBao Raft cluster: list peers, verify leader election, add and remove peers, check autopilot status, and force leader stepdown. Essential knowledge for day-2 operations of a production HA cluster.
Prerequisites checklist
Confirm these before running steps:
1List Raft cluster peers
bao operator raft list-peersShows all 3 nodes as voters with correct addresses
2Check which node is the current leader
bao status | grep 'HA'Shows Leader
3Check autopilot status for cluster health
bao operator raft autopilot state4Force a leader stepdown to test failover
bao operator step-downSuccess! Stepped down
5Verify a new leader was elected
bao status | grep 'HA'Leader should be different from the previous one
6Remove a peer from the cluster (destructive lab — optional)
Run on the leader (see
State column in list-peers):bao operator raft remove-peer openbao-2→
bao operator raft list-peers shows only openbao-0 and openbao-17Re-add the peer — delete pod AND PVC
Pod delete alone is not enough on a StatefulSet: the PVC keeps stale Raft state. So we need to delete the PVC.
oc delete pod openbao-2 -n openbaooc delete pvc data-openbao-2 -n openbaooc wait --for=condition=Ready pod/openbao-2 -n openbao --timeout=300s→ Fresh pod + PVC; chart
retry_join may rejoin automatically8If openbao-2 is still missing from list-peers — join to the current leader
oc exec -it openbao-2 -n openbao -- bao operator raft join https://openbao-1.openbao-internal:82009Verify re-joined node
oc exec -it openbao-2 -n openbao -- bao status→ Sealed: false, HA Mode: standby (auto-unseal) or unseal with Shamir recovery keys (see the Commands / YAML tab)
bao operator raft list-peers→ openbao-2 appears as follower,
Voter: trueRaft 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