Skip to main content
Version: 0.1.0-rc.5

Decision matrix

Pick the first-cluster intent

Pick the first-cluster intent.
IntentStart withDo not skipGo deeper
Hardened production baselineHardened profile, self-init, External or ACME TLS, and explicit storage.User access bootstrap, unseal configuration, and backups before the first risky upgrade.Validated deployments
Dedicated team namespaceThe hardened baseline plus the single-tenant operator install path.Namespace ownership, rendered controller identity, and WATCH_NAMESPACE alignment.Single-tenant mode

Start with the closest manifest

Configure

Start a development-profile cluster for local evaluation

yaml

apiVersion: openbao.org/v1alpha1
kind: OpenBaoCluster
metadata:
name: dev-cluster
namespace: default
spec:
version: "2.5.0"
replicas: 3
profile: Development
tls:
enabled: true
mode: OperatorManaged
rotationPeriod: "720h"
storage:
size: "10Gi"
Evaluation only

The Development profile stores sensitive material in Kubernetes Secrets and relaxes production controls. Use it for local testing and CI, not for real environments.

Apply and verify

Apply

Apply the cluster manifest

bash

kubectl apply -f cluster.yaml

Inspect

Inspect cluster phase and readiness

bash

kubectl get openbaocluster <name> -n <namespace> -o wide

Watch status.phase, readyReplicas, and whether the cluster reaches Available=True.

Verify

Watch the cluster pods stabilize

bash

kubectl get pods -l openbao.org/cluster=<name> -n <namespace> -w

A healthy first cluster should converge without repeated crash loops or long-lived pending state.

What to look for before you move on

Confirm the cluster is available, TLS and storage match the shape you intended, and hardened clusters can realistically progress toward ProductionReady=True.

Once the first cluster is healthy

Official OpenBao background

Prerelease documentation

This version tracks a prerelease build. Features and behavior may change before the next stable release.

Was this page helpful?

Use Needs work to open a structured GitHub issue for this page. The Yes button only acknowledges the signal locally.