forgejo/cmd
Manuel Ganter 5b6bbabd74 feat: implement ephemeral runners (#9962)
As described in [this comment](https://gitea.com/gitea/act_runner/issues/19#issuecomment-739221) one-job runners are not secure when running in host mode. We implemented a routine preventing runner tokens from receiving a second job in order to render a potentially compromised token useless. Also we implemented a routine that removes finished runners as soon as possible.

Big thanks to [ChristopherHX](https://github.com/ChristopherHX) who did all the work for gitea!

Rel: #9407

## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).

### Tests

- I added test coverage for Go changes...
  - [ ] in their respective `*_test.go` for unit tests.
  - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I added test coverage for JavaScript changes...
  - [ ] in `web_src/js/*.test.js` if it can be unit tested.
  - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).

### Documentation

- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [ ] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [ ] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9962
Reviewed-by: Andreas Ahlenstorf <aahlenst@noreply.codeberg.org>
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org>
Co-authored-by: Manuel Ganter <manuel.ganter@think-ahead.tech>
Co-committed-by: Manuel Ganter <manuel.ganter@think-ahead.tech>
2026-02-16 18:56:56 +01:00
..
forgejo feat: implement ephemeral runners (#9962) 2026-02-16 18:56:56 +01:00
actions.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin.go feat: allow to add pam source from command line (#10388) 2025-12-19 15:20:52 +01:00
admin_auth.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin_auth_ldap.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin_auth_ldap_test.go chore(upgrade): urfave/cli from v2 to v3 (#8035) 2025-06-01 22:16:37 +02:00
admin_auth_oauth.go feat: allow sync quota groups with oauth2 auth source (#8554) 2025-12-01 14:12:00 +01:00
admin_auth_oauth_test.go feat: allow sync quota groups with oauth2 auth source (#8554) 2025-12-01 14:12:00 +01:00
admin_auth_pam.go feat: allow to add pam source from command line (#10388) 2025-12-19 15:20:52 +01:00
admin_auth_pam_test.go feat: allow to add pam source from command line (#10388) 2025-12-19 15:20:52 +01:00
admin_auth_smtp.go fix: rename a file with typo STMP -> SMTP (#10389) 2025-12-10 14:20:05 +01:00
admin_regenerate.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin_user.go feat: add admin user reset-mfa CLI command (#8047) 2025-06-05 10:40:21 +02:00
admin_user_change_password.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin_user_create.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin_user_delete.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin_user_generate_access_token.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin_user_list.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
admin_user_must_change_password.go chore(upgrade): urfave/cli from v2 to v3 (#8035) 2025-06-01 22:16:37 +02:00
admin_user_reset_mfa.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
cert.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
cmd.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
doctor.go chore: correct spelling error in cleanup-commit-status CLI docs (#10780) 2026-01-11 23:36:19 +01:00
doctor_convert.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
doctor_test.go chore(upgrade): urfave/cli from v2 to v3 (#8035) 2025-06-01 22:16:37 +02:00
dump.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
dump_repo.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
dump_test.go feat: Replace mholt/archiver/v3 with mholt/archives (#7025) 2025-08-08 06:53:20 +02:00
embedded.go chore(upgrade): urfave/cli from v2 to v3 (#8035) 2025-06-01 22:16:37 +02:00
generate.go chore: unify the usage of CryptoRandomString (#10110) 2025-11-15 13:24:53 +01:00
hook.go chore: fix typos throughout the codebase (#10753) 2026-01-26 22:57:33 +01:00
hook_test.go fix: incorrect whitespace handling on pre&post receive hooks 2026-01-06 09:58:20 -07:00
keys.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
mailer.go chore: fix typos throughout the codebase (#10753) 2026-01-26 22:57:33 +01:00
main.go fix: "revert Update module github.com/urfave/cli/v3 to v3.6.2 (forgejo) (#10937)" (#11095) 2026-01-29 10:42:46 +01:00
main_test.go fix: "revert Update module github.com/urfave/cli/v3 to v3.6.2 (forgejo) (#10937)" (#11095) 2026-01-29 10:42:46 +01:00
manager.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
manager_logging.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
migrate.go chore: rename 'migrations' to 'gitea_migrations' 2025-10-14 14:40:49 -06:00
migrate_storage.go chore: rename 'migrations' to 'gitea_migrations' 2025-10-14 14:40:49 -06:00
migrate_storage_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
restore_repo.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
serv.go feat(log): better parseable and configurable ssh-logs (#9056) 2025-09-11 18:59:24 +02:00
web.go fix!: detect extra cmdline args and emit errors (#9458) 2025-10-08 18:20:28 +02:00
web_acme.go fix: use correct ACME default (#8550) 2025-07-17 20:40:09 +02:00
web_graceful.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
web_https.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00