Known limitations

Current unsupported paths, incomplete contracts, and operational boundaries in the pre-GA release line.

Updated 9 August 2026 · 2 min read

On this page

Review these limits before you design an upgrade, recovery, storage, or lifecycle workflow.

AreaCurrent limitRequired response
CRD versioningEvery CRD serves and stores only openbao.org/v1alpha1; there is no conversion webhookReview every minor release for API migrations
Cluster adoptionThe operator does not import an arbitrary unmanaged OpenBao clusterCreate an operator-managed cluster and use backup and restore to move data
Operator and workload downgradeRoutine downgrades are unsupported; OpenBao version downgrades are blockedPrefer a forward fix or follow a rehearsed recovery plan
External backup deletionDeleteAll removes operator-owned PVCs but does not delete snapshots from object storageDelete external backups explicitly during decommissioning
etcd encryptionThe operator cannot prove that the Kubernetes API server encrypts Secret data at restVerify etcd encryption with the cluster platform owner
Helm CRD lifecycleHelm does not upgrade or delete installed CRDs automaticallyApply the target release’s crds.yaml before the chart upgrade
Audit file storageThe audit PVC is a collector handoff and replay buffer, not an archive or collectorShip records to retention-controlled storage and manage rotation there
OpenBao 2.6 BlueGreen transitionPre-2.6 and 2.6-or-newer peers cannot use the mixed-version Autopilot pathSwitch an idle, healthy cluster to RollingUpdate, wait for acceptance, then upgrade

Switch the 2.6 upgrade strategy

Use this exception only while the cluster is healthy and no upgrade, backup, or restore owns the operation lock.

kubectl -n <namespace> patch openbaocluster <name> \
  --type merge \
  -p '{"spec":{"upgrade":{"strategy":"RollingUpdate"}}}'

kubectl -n <namespace> get openbaocluster <name> \
  -o jsonpath='{.status.acceptedUpgradeStrategy}{"\n"}'

Continue only after the command prints RollingUpdate. Fresh OpenBao 2.6 clusters and the validated rolling path do not require this transition.

Search the handbook

Try “install”, “threat model”, or “compatibility”.