# rapp-openbao Boundary This document records the first-wave boundary for extracting the wave-1 `rapp-openbao` repo out of `railiance-platform`. The rule is simple: - `rapp-openbao` owns the deployable OpenBao package surface - `railiance-platform` keeps secret custody, policy, lane governance, and platform-wide operator controls ## Package Assets For `rapp-openbao` These files describe or implement the OpenBao workload package itself and are valid candidates for a dedicated wrapper repo. | Path | Why it belongs with the package | | --- | --- | | `helm/openbao-values.yaml` | Helm values for the OpenBao workload | | `helm/openbao-middleware.yaml` | OpenBao-specific ingress/middleware surface | | `helm/openbao-ui-overlay-k8s.yaml` | OpenBao UI gateway Deployment/Service/Ingress manifest | | `helm/openbao-ui-overlay/` | UI overlay assets and gateway config for the OpenBao service | | `scripts/openbao-ui-overlay-apply.sh` | Applies package-owned UI overlay assets | | `scripts/openbao-verify.sh` | Non-secret workload deployment verification | | `scripts/openbao-verify-login-overlay.sh` | Verifies package-owned public UI overlay behavior | | `docs/openbao-emergency-drill-evidence.example.json` | Example workload-specific emergency evidence format | | `docs/openbao-restore-drill-evidence.example.json` | Example workload-specific restore evidence format | | `scripts/openbao-validate-emergency-drill-evidence.sh` | Validates workload-specific emergency drill evidence | | `scripts/openbao-validate-restore-evidence.sh` | Validates workload-specific restore drill evidence | ## Split-Before-Move Assets These files mix package bring-up with retained S3 governance. They should be split before a clean repo move. | Path | Why it needs splitting | | --- | --- | | `docs/openbao.md` | Contains both package deployment/runbook material and retained platform custody/bootstrap policy | | `scripts/openbao-apply-initial-config.sh` | Combines workload bootstrap with S3-owned `platform-admin` / `platform-readonly` policy loading and Kubernetes auth setup | | `Makefile` target `openbao-configure-initial` | Thin wrapper around the mixed script above | | `scripts/openbao-verify-authenticated.sh` | Verifies retained policy/auth/audit surfaces, not just package health | ## Retained `railiance-platform` Responsibilities These files and concerns stay in S3 even after a wrapper repo exists. | Path or family | Why it stays in S3 | | --- | --- | | `openbao/policies/platform-admin.hcl`, `openbao/policies/platform-readonly.hcl` | Platform operator and read-only policy surface | | `docs/openbao-approved-automation-delegation.md` | Governance for approved metadata mutation under platform control | | `openbao/policies/credential-change-*.hcl` and `scripts/openbao-apply-credential-change-appliers.py` | Delegated metadata-apply policy and role management | | `docs/credential-change-approval.md`, `docs/credential-lane-lifecycle-runbook.md`, `docs/workload-kv-access-lanes.md`, `credential-change-requests/` | Source of truth for lane approval, lifecycle, and custody decisions | | `openbao/policies/workload-kv-read-*.hcl` and `scripts/openbao-apply-workload-kv-lanes.sh` | Cross-workload runtime secret lane governance | | `openbao/policies/external-secrets-*.hcl` and `scripts/openbao-apply-external-secrets-issue-core.sh` | Cross-workload External Secrets / ESO integration policy | | `openbao/ssh/roles-spec.yaml`, `openbao/policies/warden-sign.hcl`, `scripts/openbao-apply-ssh-engine.sh`, `scripts/openbao-verify-ssh-engine.sh` | Platform SSH signing capability for ops-warden, not an OpenBao package concern | | `docs/credential-broker.md`, `credential-grants/`, `scripts/credential.py`, `scripts/openbao-apply-token-grants.py`, `scripts/openbao-verify-token-grants.py`, `openbao/policies/credential-broker-*.hcl` | Platform credential-broker and token-grant governance | | `scripts/forgejo-admin-pat-provision.sh` and other workload-lane provisioning helpers | Provision secrets for other workloads through OpenBao; not part of the OpenBao package itself | ## First Move Set The initial repo-creation handoff for `rapp-openbao` started with the least coupled package assets: - `helm/openbao-values.yaml` - `helm/openbao-middleware.yaml` - `helm/openbao-ui-overlay-k8s.yaml` - `helm/openbao-ui-overlay/` - `scripts/openbao-ui-overlay-apply.sh` - `scripts/openbao-verify.sh` - `scripts/openbao-verify-login-overlay.sh` - the `Makefile` targets `openbao-repo`, `openbao-dry-run`, `openbao-overlay-apply`, `openbao-deploy`, `openbao-status`, `openbao-verify`, and `openbao-verify-login-overlay` This first move set is enough to establish a package repo that can render, deploy, and verify OpenBao without inheriting platform lane governance. The migration-window compatibility path between `railiance-platform` and `rapp-openbao` now lives in `docs/rapp-openbao-compatibility-handoff.md`. ## Resulting Rule `rapp-openbao` may own how OpenBao is packaged, deployed, verified, and skinned for Railiance. It must not become the home for platform-admin policy, workload KV lane policy, delegated metadata authority, credential grants, or human root custody procedure.