Commit Graph

8 Commits

Author SHA1 Message Date
23d610ba5b chore: switch from develop/dev to main/latest image tags (#434)
All checks were successful
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/coordinator Pipeline was successful
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com>
Co-committed-by: Jason Woltje <jason@diversecanvas.com>
2026-02-21 22:05:07 +00:00
f4e759c07a fix(devops): bypass OpenBao base entrypoint to prevent dev-mode flags
Some checks failed
ci/woodpecker/push/infra Pipeline failed
The base openbao image's docker-entrypoint.sh injects -dev-root-token-id
and -dev-listen-address flags when it sees 'server' as $1, causing the
server to exit immediately (code 0). Override entrypoint with dumb-init
and call bao directly to avoid the dev-mode flag injection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 00:13:57 -06:00
b6d272992a fix(devops): fix OpenBao healthcheck URL truncation with CMD-SHELL
Some checks failed
ci/woodpecker/push/infra Pipeline failed
The CMD exec form drops everything after & in the healthcheck URL,
causing uninitcode=200 and sealedcode=200 params to be lost. Without
them, OpenBao returns 501 when uninitialized, healthcheck fails, and
Swarm kills the container before the init sidecar can reach it.

Switch to CMD-SHELL with single-quoted URL to preserve query params.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 00:08:12 -06:00
72b1d9f4f2 fix(devops): make OpenBao compose Swarm/Portainer compatible
Convert docker-compose.openbao.yml from standalone Docker Compose
to Swarm-compatible format:
- Remove container_name, depends_on, restart (not supported in Swarm)
- Add deploy.restart_policy sections
- Remove 127.0.0.1 port binding (use overlay network instead)
- Remove env_file (use Portainer environment instead)
- Init sidecar limited to 5 restart attempts with 10s delay

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 19:41:05 -06:00
b3c0f51dc9 fix(devops): enable OpenBao in Swarm and fix healthchecks
- Enable OpenBao + init sidecar in Swarm compose (was commented out)
- Fix healthcheck to accept uninitialized/sealed vault states
  (add ?uninitcode=200&sealedcode=200 to /v1/sys/health)
- Replace nc-based healthcheck with wget in dev compose
- Add ORCHESTRATOR_URL env var to API service in Swarm compose
- Uncomment OpenBao volumes in Swarm compose

The healthcheck was returning HTTP 501 for uninitialized vault,
causing Swarm to restart OpenBao before init sidecar could run.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 19:38:34 -06:00
83dee62f0e fix(openbao): use simple depends_on syntax for Portainer compatibility
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Change depends_on from condition-based to simple list syntax
- Fixes: 'Services.openbao-init.depends_on must be a list' error
- Compatible with Portainer's compose parser

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:38:40 -06:00
7c01352ab5 fix(openbao): use production mode instead of dev mode
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Add explicit command: server -config=/openbao/config/config.hcl
- Remove OPENBAO_DEV_ROOT_TOKEN_ID (not needed in production)
- Fixes 'address already in use' error caused by dev mode conflict

The base OpenBao image defaults to 'server -dev' which conflicts with
our production config.hcl. This change forces production mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:34:36 -06:00
c195b8c8fd feat(openbao): add standalone deployment for swarm compatibility
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Create docker-compose.openbao.yml for standalone OpenBao deployment
  - Includes openbao and openbao-init services
  - Auto-initialization on first run
  - Connects to swarm's mosaic_internal network
  - Binds to localhost:8200 for security

- Update docker-compose.swarm.yml
  - Comment out OpenBao service (cannot run in swarm)
  - Add clear note about standalone requirement
  - Update volumes section
  - Update header with current config

- Create docs/OPENBAO-DEPLOYMENT.md
  - Comprehensive deployment guide
  - 4 deployment options: standalone, bundled, external, fallback
  - Clear explanation why OpenBao can't run in swarm
  - Deployment workflows for each scenario
  - Troubleshooting section

- Update docs/SWARM-DEPLOYMENT.md
  - Add Step 1: Deploy OpenBao standalone FIRST
  - Remove manual initialization (now automatic)
  - Update expected services list
  - Reference OpenBao deployment guide

- Update README.md
  - Clarify OpenBao standalone requirement for swarm
  - Update deployment steps
  - Highlight critical requirement at top of notes

Key changes:
- OpenBao MUST be deployed standalone when using swarm
- Automatic initialization via openbao-init sidecar
- Clear documentation for all deployment options
- Swarm stack no longer includes OpenBao

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:30:30 -06:00