Commit Graph

5 Commits

Author SHA1 Message Date
Deeman
520da2c920 feat(ci): switch to pull-based deploy via git tags
Replace push-based SSH deploy (deploy:web stage with SSH credentials +
individual env var injection) with tag-based pull deploy:

- Add `tag` stage: creates v${CI_PIPELINE_IID} tag using CI_JOB_TOKEN
- Remove all SSH variables (SSH_PRIVATE_KEY, SSH_KNOWN_HOSTS, DEPLOY_USER,
  DEPLOY_HOST) and all individual secret variables from CI
- Zero deploy secrets in CI — only CI_JOB_TOKEN (built-in) needed

Deployment is now handled by the on-server supervisor (src/materia/supervisor.py)
which polls for new v* tags every 60s and runs web/deploy.sh automatically.
Secrets live in .env.prod.sops (git-committed, age-encrypted), decrypted at
deploy time by deploy.sh — never stored in GitLab CI variables.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 11:10:06 +01:00
Deeman
817d9c16b7 ci: enable deploy stage with SSH-based blue/green deployment
Writes .env to web/, runs deploy.sh from web/. Pushes env vars
from GitLab CI/CD variables to the server on every master push.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:09:32 +01:00
Deeman
930ebec259 fix: ADMIN_EMAIL → ADMIN_EMAILS, add default admin emails
Rename env var to plural (CSV list) in CI yml to match the actual
config key. Add hendrik@beanflow.coffee and simon@beanflows.coffee
as hardcoded defaults so they get admin access without needing the
env var set explicitly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:59:52 +01:00
Deeman
910424c956 update cicd & philosophy 2026-02-18 16:11:56 +01:00
Deeman
e6d7ba81cb Change cicd 2026-02-05 20:08:01 +01:00