Skip to main content
Version: next

Decision matrix

What this page owns

What this page owns.
SurfaceUse it forDo not use it for
spec.auditDeclarative audit-device setup that should exist when the cluster starts.General telemetry or metrics wiring.
spec.plugins and plugin download settingsExplicit OpenBao plugin registration and plugin fetch behavior.Mirrored base images or disconnected-registry strategy for the whole deployment.
Raft autopilotMembership safety, dead-peer cleanup, and quorum behavior.Application-level backup, upgrade, or restore workflows.
Use the focused pages for adjacent concerns

Core server runtime

Configure

Start from the core server settings

yaml

spec:
configuration:
ui: true
cacheSize: 134217728
disableCache: false
defaultLeaseTTL: "720h"
maxLeaseTTL: "8760h"
listener:
proxyProtocolBehavior: "use_proxy_protocol"
raft:
performanceMultiplier: 2

Reference table

Common server knobs

Common server knobs.
FieldWhy you change itOperational note
listenerAdjust listener behavior such as proxy-protocol handling.Keep listener-level TLS assumptions aligned with the external-access path you selected.
defaultLeaseTTL / maxLeaseTTLSet sensible lease bounds for the workloads that depend on the cluster.Very long leases change the operational contract for the workloads that depend on the cluster.
raft.performanceMultiplierCompensate for high-latency or slower control-plane environments.Change this deliberately and verify that measured latency or failure behavior requires the larger value.

Audit devices and plugins

Configure

Enable declarative audit devices

yaml

spec:
audit:
- type: file
path: secure-audit
description: "Secure audit logging"
options:
file_path: "/var/log/openbao/audit.log"
format: "json"

Include audit devices in the cluster baseline so the service starts with the expected audit configuration.

Raft autopilot defaults

Diagram

Autopilot ownership

The operator keeps autopilot aligned with the cluster profile and replica count so peer cleanup and quorum behavior stay in bounds as the cluster changes.

Reference table

Autopilot defaults

Autopilot defaults.
SettingDefaultWhy it exists
deadServerLastContactThreshold5mThe operator uses a shorter threshold than the generic upstream default because cluster nodes and Pods are expected to churn faster in Kubernetes.
serverStabilizationTime10sNew servers should prove they are healthy before becoming stable voters.
minQuorumCalculated from profile and replica countHardened favors HA safety; Development favors flexibility for small clusters.

Configure

Customize autopilot explicitly

yaml

spec:
profile: Hardened
replicas: 5
configuration:
raft:
autopilot:
minQuorum: 4
deadServerLastContactThreshold: "10m"
lastContactThreshold: "30s"
maxTrailingLogs: 2000
serverStabilizationTime: "30s"

Start with the operator defaults and override them only after measuring behavior that requires a change.

Inspect

Inspect the full configuration schema

bash

kubectl explain openbaocluster.spec.configuration

Use this when you need the exact field tree. Keep this page for defaults and decision boundaries rather than exhaustive field-by-field reference.

Continue cluster baseline

Next release documentation

You are reading the unreleased main docs. Use the version menu for the newest published release, or check the release notes for what is already out.

Was this page helpful?

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