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
Configure PKI Engine as Internal CA
Auto-Rotate TLS Certificates with cert-manager
Cross-Sign External CA with OpenBao PKI
Dynamic PostgreSQL Credentials

Deploy a lab PostgreSQL instance in namespace db-tests, configure the database secrets engine to generate short-lived credentials, and verify readonly vs readwrite access. Uses in-cluster DNS (postgresql.db-tests.svc.cluster.local) from OpenBao pods.

Prerequisites checklist

Confirm these before running steps:

1Deploy lab PostgreSQL (full manifest in the Commands / YAML tab) or use an existing one:
→ This will create: Namespace db-tests, Secret for credentials, ConfigMap for initial configuration, a Service and a Deployment.
2Wait for the deployment to be available
oc wait --for=condition=Available deployment/postgresql -n db-tests --timeout=180s
→ Deployment Available
3Enable the database secrets engine
bao secrets enable database
→ Success! Enabled the database secrets engine at: database/
4Configure the PostgreSQL connection (in-cluster, no TLS for lab)
bao write database/config/postgresql plugin_name=postgresql-database-plugin allowed_roles=readonly,readwrite connection_url='postgresql://{{username}}:{{password}}@postgresql.db-tests.svc.cluster.local:5432/myapp?sslmode=disable' username=bao_admin password=adminP@ss
→ Success! Data written to: database/config/postgresql
Verify in the UI
PostgreSQL Connection
PostgreSQL Connection
5Create a readonly role with 1-hour TTL
bao write database/roles/readonly db_name=postgresql creation_statements="CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO \"{{name}}\";" revocation_statements="REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM \"{{name}}\"; DROP ROLE IF EXISTS \"{{name}}\";" default_ttl=1h max_ttl=24h
→ Success! Data written to: database/roles/readonly
Verify in the UI
PostgreSQL Role
PostgreSQL Role
6Create a readwrite role with 4-hour TTL
bao write database/roles/readwrite db_name=postgresql creation_statements="CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO \"{{name}}\";" default_ttl=4h max_ttl=24h
→ Success! Data written to: database/roles/readwrite
7Request dynamic credentials
bao read database/creds/readonly
→ Returns unique username and password with lease duration
8Test the dynamic credentials via oc exec into the PostgreSQL pod (see the Commands / YAML tab):
SELECT current_user shows the dynamic role; SELECT * FROM demo succeeds
INSERT INTO demo ... fails with permission denied for readonly creds
9Rotate the root credentials stored in OpenBao
bao write -f database/rotate-root/postgresql
Root password rotated in PostgreSQL and updated in OpenBao config
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