Commit Graph

5 Commits

Author SHA1 Message Date
8b78ffe4a0 refactor(ci): Rename images to stack-* prefix for clarity
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Renamed all Docker images from generic names to stack-* prefix:
- api → stack-api
- web → stack-web
- postgres → stack-postgres
- openbao → stack-openbao
- orchestrator → stack-orchestrator

This prevents confusion with other repositories in the mosaic/
organization on git.mosaicstack.dev.

Registry images:
  git.mosaicstack.dev/mosaic/stack-api
  git.mosaicstack.dev/mosaic/stack-web
  git.mosaicstack.dev/mosaic/stack-postgres
  git.mosaicstack.dev/mosaic/stack-openbao
  git.mosaicstack.dev/mosaic/stack-orchestrator

Local images:
  stack-api:latest
  stack-web:latest
  stack-postgres:latest
  stack-openbao:latest
  stack-orchestrator:latest

Updated files:
- .woodpecker.yml (all build steps + package linking)
- docker-compose.swarm.yml (all image references)
- build-images.sh (local image names)
- deploy-swarm.sh (image validation)
2026-02-08 02:03:31 -06:00
0e3baae415 feat(ci): Add OpenBao and Orchestrator image builds to Woodpecker CI
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Add missing Docker image builds for swarm deployment.

Changes:
- Added docker-build-openbao step to .woodpecker.yml
- Added docker-build-orchestrator step to .woodpecker.yml
- Updated docker-compose.swarm.yml to use registry images
  (git.mosaicstack.dev/mosaic/*)
- Added IMAGE_TAG variable support for versioned deployments
- Updated deploy-swarm.sh to support both registry and local images

Image tagging strategy:
- All commits: SHA tag (e.g., 658ec077)
- main branch: latest + SHA
- develop branch: dev + SHA
- git tags: version tag + SHA

Registry images:
- git.mosaicstack.dev/mosaic/postgres
- git.mosaicstack.dev/mosaic/openbao
- git.mosaicstack.dev/mosaic/api
- git.mosaicstack.dev/mosaic/orchestrator
- git.mosaicstack.dev/mosaic/web

Deployment modes:
- IMAGE_TAG=latest (default, use registry latest)
- IMAGE_TAG=dev (use registry dev tag)
- IMAGE_TAG=local (use local builds via build-images.sh)
2026-02-08 01:33:36 -06:00
7f3499b1f2 fix(swarm): Remove build directives and unsupported options for swarm
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Docker Swarm doesn't support build directives or security_opt.
Images must be pre-built before deployment.

Changes:
- Created build-images.sh script to build all images
- Updated deploy-swarm.sh to check for images and offer to build
- Removed build: sections from docker-compose.swarm.yml
- Removed security_opt: (not supported in swarm)
- Services now reference pre-built images only

Deployment workflow:
1. ./build-images.sh (build all images)
2. ./deploy-swarm.sh mosaic (deploy to swarm)
2026-02-08 01:31:29 -06:00
2a9a1f1367 fix(swarm): Convert boolean env vars to strings in orchestrator service
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Docker Compose/Swarm requires environment variables to be strings, not booleans.

Changes:
- KILLSWITCH_ENABLED: true -> "true"
- SANDBOX_ENABLED: true -> "true"

Fixes deployment error: 'must be a string, number or null'
2026-02-08 01:30:07 -06:00
ed92bb5402 feat(#swarm): Add Docker Swarm deployment with AI provider configuration
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Add setup-wizard.sh for interactive configuration
- Add docker-compose.swarm.yml optimized for swarm deployment
- Make CLAUDE_API_KEY optional based on AI_PROVIDER setting
- Support multiple AI providers: Ollama, Claude API, OpenAI
- Add BETTER_AUTH_SECRET to .env.example
- Update deploy-swarm.sh to validate AI provider config
- Add comprehensive documentation (DOCKER-SWARM.md, SWARM-QUICKREF.md)

Changes:
- AI_PROVIDER env var controls which AI backend to use
- Ollama is default (no API key required)
- Claude API and OpenAI require respective API keys
- Deployment script validates based on selected provider
- Removed Authentik services from swarm compose (using external)
- Configured for upstream Traefik integration
2026-02-08 01:18:04 -06:00