feat!: register runners through the Forgejo UI #5

Merged
ivuorinen merged 5 commits from ci-gated-deploy into main 2026-09-26 21:34:11 +00:00
Owner

Summary

Runners are now registered in Forgejo's web UI instead of with forgejo-cli actions register.

  • entrypoint.sh takes FORGEJO_RUNNER_UUID and FORGEJO_RUNNER_TOKEN as Forgejo issues them and writes them into server.connections.forgejo. The UUID must be 8-4-4-4-12 hex (lowercased before use); the token must be non-empty with no whitespace or control characters. The UUID is no longer derived from a shared secret.
  • compose.yaml requires both variables; FORGEJO_RUNNER_SECRET is removed.
  • Tests, .env.example and the README follow.
  • Design spec and plan: docs/superpowers/specs/2026-09-26-ui-runner-registration-design.md, docs/superpowers/plans/2026-09-26-ui-runner-registration.md.

This branch also carries the earlier CI-gated deploy design spec (docs/superpowers/specs/2026-09-26-ci-gated-deploys-design.md, docs only).

Breaking change

Before deploying, set FORGEJO_RUNNER_UUID and FORGEJO_RUNNER_TOKEN in the Coolify resource and remove FORGEJO_RUNNER_SECRET. A deploy without the new variables fails at compose interpolation. The config in runner-data is rewritten on start; no migration.

Testing

  • shellcheck entrypoint.sh healthcheck.sh tests/*.sh, hadolint Dockerfile: clean
  • sh tests/entrypoint.test.sh: 35 checks pass
  • sh tests/compose.test.sh: 16 checks pass
## Summary Runners are now registered in Forgejo's web UI instead of with `forgejo-cli actions register`. - `entrypoint.sh` takes `FORGEJO_RUNNER_UUID` and `FORGEJO_RUNNER_TOKEN` as Forgejo issues them and writes them into `server.connections.forgejo`. The UUID must be 8-4-4-4-12 hex (lowercased before use); the token must be non-empty with no whitespace or control characters. The UUID is no longer derived from a shared secret. - `compose.yaml` requires both variables; `FORGEJO_RUNNER_SECRET` is removed. - Tests, `.env.example` and the README follow. - Design spec and plan: `docs/superpowers/specs/2026-09-26-ui-runner-registration-design.md`, `docs/superpowers/plans/2026-09-26-ui-runner-registration.md`. This branch also carries the earlier CI-gated deploy design spec (`docs/superpowers/specs/2026-09-26-ci-gated-deploys-design.md`, docs only). ## Breaking change Before deploying, set `FORGEJO_RUNNER_UUID` and `FORGEJO_RUNNER_TOKEN` in the Coolify resource and remove `FORGEJO_RUNNER_SECRET`. A deploy without the new variables fails at compose interpolation. The config in `runner-data` is rewritten on start; no migration. ## Testing - `shellcheck entrypoint.sh healthcheck.sh tests/*.sh`, `hadolint Dockerfile`: clean - `sh tests/entrypoint.test.sh`: 35 checks pass - `sh tests/compose.test.sh`: 16 checks pass
ivuorinen deleted branch ci-gated-deploy 2026-09-26 21:34:11 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ivuorinen/coolify-forgejo-runners!5
No description provided.