Skip to main content
Version: 0.4.x

Diagram

OpenBao network perimeter

The workload path starts closed and only opens the traffic required for cluster management, Raft, ingress, and explicitly configured integrations.

Decision matrix

Network posture at a glance

Network posture at a glance.
SurfaceDefault postureWhat opens it up
Workload egressDenied by default except for core cluster dependenciesAPI server, DNS, Raft peer traffic, and explicitly configured integrations.
Backup and restore job egressSeparate from the main workload policyExplicit object-storage and identity reachability assumptions through job-level configuration.
Controller ingressRestricted to health and metrics surfacesMonitoring and kubelet probe paths only when operator network policies are enabled.

Workload traffic rules

Reference table

Allowed ingress paths

Allowed ingress paths.
SourceTypical portWhy it exists
Raft peers8201/TCPRequired for consensus, leader election, and replication between StatefulSet members.
Trusted ingress peer8200Allowed only when spec.network.trustedIngressPeers names the ingress controller, Gateway data plane, or application source deliberately.
Kube-system health pathsPlatform-dependentSome CNIs or DNS health checks require controlled access from system namespaces.

If you need additional ingress, use:

  • spec.network.trustedIngressPeers for user-managed ingress, passthrough proxies, and Hardened application access paths
  • spec.network.ingressRules only outside Hardened when the supported peer fields cannot model the source

Managed spec.ingress.enabled: true configurations must declare at least one trusted ingress peer so the OpenBao API listener is not opened to every pod that can reach the namespace. Managed Gateway routes also need explicit trusted ingress peers for the Gateway data plane; the referenced Gateway namespace is not allowed automatically.

Hardened ingress is explicit

Hardened clusters reject raw spec.network.ingressRules. Model application access through managed Gateway/Ingress integration or spec.network.trustedIngressPeers, and keep those peers scoped to concrete namespace and pod selectors.

Read replicas are client-serving Pods

When steady read replicas are enabled, the main client Service can route to both voter and read-replica Pods. That does not create a separate ingress policy surface by itself; the same cluster ingress rules still govern the client listener, and the optional dedicated read Service remains only a second Service object selecting the same client-serving port on the read pool.

Status checkpoints for network assumptions

When manifests alone do not explain the observed behavior, start with these conditions:

  • APIServerNetworkReady for API-server reachability assumptions
  • GatewayIntegrationReady for gateway listener and controller compatibility
  • BackupConfigurationReady for object-storage and backup auth reachability
  • RestoreConfigurationReady for restore job egress and identity assumptions

Controller network posture

Reference table

Controller networking

Controller networking.
SurfacePostureWhy
EgressPrimarily the Kubernetes API and essential control-plane services.Controller traffic should stay close to reconciliation and not behave like a general egress client.

Continue platform controls

Published release documentation

You are reading docs for version 0.4.x. Use the version menu to switch to next or another archived 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.