cozystack/hack
Andrei Kvapil 022ddf73a8
[apps] Add OpenBAO as a managed secrets management service (#2059)
## What this PR does

Adds OpenBAO (open-source Vault fork) as a new managed PaaS application
in Cozystack.

**Structure follows existing app patterns (qdrant, nats):**
- System chart with vendored upstream `openbao/openbao` (chart v0.25.3,
appVersion v2.5.0)
- App chart with standalone/HA mode switching based on replicas count
- TLS via cert-manager self-signed certificates per instance
- ApplicationDefinition, PackageSource, PaaS bundle entry
- E2E test with init/unseal workflow

**Key design decisions:**
- `replicas: 1` → standalone mode with file storage; `replicas > 1` → HA
with Raft integrated storage and retry_join with TLS peer verification
- TLS enabled by default — each instance gets a self-signed Certificate
with DNS SANs covering services and pod addresses
- `disable_mlock = true` in HCL config since default security context
drops IPC_LOCK capability
- Injector and CSI provider disabled (cluster-scoped components, not
safe per-tenant)
- No auto-init/unseal — OpenBAO requires manual initialization by design
- E2E test performs full lifecycle: deploy, wait for certificate + API,
init, unseal, verify readiness, cleanup

### Release note

```release-note
[apps] Add OpenBAO as a managed secrets management service with standalone and HA Raft modes, TLS enabled by default
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added OpenBAO managed secrets management service with
high-availability and standalone deployment options
  * Integrated monitoring and dashboards for operational visibility
  * Enabled configurable external access and web UI
  * Added automated snapshot backup capability

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-27 11:11:59 +01:00
..
e2e-apps [apps] Add OpenBAO as a managed secrets management service (#2059) 2026-02-27 11:11:59 +01:00
boilerplate.go.txt Introduce cozystack-controller (#560) 2025-01-09 12:24:51 +01:00
cdi_golden_image_create.sh [virtual-machine] Refactor golden images 2025-07-03 13:33:44 +03:00
check-optional-repos.sh Rename cozypkg to cozyhr 2025-12-25 16:54:22 +01:00
collect-images.sh [dx] Refactor collect-images functionality 2025-07-03 14:26:56 +03:00
common-envs.mk refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
cozyreport.sh [ci] Cozyreport improvements 2026-02-11 17:09:47 +03:00
cozytest.sh [tests] Add more space for e2e tests 2025-08-11 13:04:00 +03:00
download-dashboards.sh Add monitoring for NATs 2026-02-17 22:54:12 +01:00
e2e-install-cozystack.bats fix(e2e): poll for CRD existence before waiting for Established condition 2026-02-19 19:24:19 +03:00
e2e-prepare-cluster.bats [ci] Run e2e tests on shared runners 2026-01-20 22:13:16 +01:00
e2e-test-openapi.bats [apps] Refactor apiserver to use typed objects and fix UnstructuredList GVK 2025-12-01 22:06:23 +01:00
helm-unit-tests.sh [ci,dx] Add unit tests for cozy-lib 2025-11-19 17:56:17 +03:00
migrate-to-version-1.0.sh fix(platform): use original cozystack.io/ui label in migration 26 and simplify migration script 2026-02-24 23:49:43 +01:00
package.mk refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
pre-checks.sh Fix osx grep have no -P flag (#438) 2024-10-21 11:59:56 +02:00
update-codegen.sh refactor(installer): remove CRDs from Helm chart, rely on operator --install-crds 2026-02-19 17:23:37 +03:00
update-crd.sh refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
upload-assets.sh [installer] Rename talos asset to cozystack-operator-talos.yaml 2026-02-11 22:05:37 +01:00
upload-releasenotes.sh Add AI-agent for changelogs generation 2025-11-26 20:18:43 +01:00