diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 8dcd106..bba43dd 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,21 +1,13 @@ # ────────────────────────────────────────────────────────────────────────────── # CrowdSec Admin — Gitea Actions CI/CD # -# Triggers on push to main. Runner builds image + brings stack up via docker -# compose on the host. Image stays local (no registry push), same pattern as -# flight-radar. +# Build image, push to Gitea registry, trigger Portainer redeploy via webhook. +# Stack itself is managed by Portainer (type=git). Env vars (LAPI creds) live +# in the Portainer stack — NOT in repo secrets — so rotation is one place. # -# PREREQUISITES (one-time): -# 1. Host LAPI machine registered (for DELETE auth): -# sudo cscli machines add crowdsec-admin --password '' -f - -# 2. Host LAPI bouncer registered (for GET auth): -# sudo cscli bouncers add crowdsec-admin -# 3. Repo secrets set in Gitea → Settings → Secrets: -# LAPI_MACHINE_ID=crowdsec-admin -# LAPI_MACHINE_PASSWORD= -# LAPI_BOUNCER_KEY= -# 4. DNS: crowdsec.domverse-berlin.eu → host IP. -# 5. Authentik wildcard forward_domain already covers *.domverse-berlin.eu. +# Repo secrets required: +# REGISTRY_TOKEN token for ci user, scope write:package +# PORTAINER_WEBHOOK_URL POST URL from Portainer stack auto-update setting # ────────────────────────────────────────────────────────────────────────────── name: Deploy @@ -27,8 +19,7 @@ on: workflow_dispatch: env: - COMPOSE_PROJECT: crowdsec-admin - COMPOSE_FILE: docker-compose.yml + IMAGE: git.domverse-berlin.eu/ci/crowdsec-admin/app jobs: deploy: @@ -37,25 +28,18 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Write .env for compose - run: | - cat > .env <