nixpkgs/nixos/modules/services
Yaya 6f211d899d nixos/gitlab-runner: Add support runner authentication tokens
Support for *runner registration tokens* is deprecated since GitLab
16.0, has been disabled by default in GitLab 17.0 and will be removed in
GitLab 18.0, as outlined in the [GitLab documentation].

It is possible to [re-enable support for runner registration tokens]
until GitLab 18.0, to prevent the registration workflow from
breaking.

*Runner authentication tokens*, the replacement for registration tokens,
have been available since GitLab 16.0 and are expected to be defined in
the `CI_SERVER_TOKEN` environment variable, instead of the previous
`REGISTRATION_TOKEN` variable.

This commit adds a new option
`services.gitlab-runner.services.<name>.authenticationTokenConfigFile`.
Defining such option next to
`services.gitlab-runner.services.<name>.registrationConfigFile` brings
the following benefits:
- A warning message can be emitted to notify module users about the
  upcoming breaking change with GitLab 17.0, where *runner registration
  tokens* will be disabled by default, potentially disrupting
  operations.
- Some configuration options are no longer supported with *runner
  authentication tokens* since they will be defined when creating a new
  token in the GitLab UI instead. New warning messages can be emitted to
  notify users to remove the affected options from their configuration.
- Once support for *registration tokens* has been removed in GitLab 18,
  we can remove
  `services.gitlab-runner.services.<name>.registrationConfigFile` as
  well and make module users configure an *authentication token*
  instead.

This commit changes the option type of
`services.gitlab-runner.services.<name>.registrationConfigFile` to
`with lib.types; nullOr str` to allow configuring an authentication
token in
`services.gitlab-runner.services.<name>.authenticationTokenConfigFile`
instead.

A new assertion will make sure that
`services.gitlab-runner.services.<name>.registrationConfigFile` and
`services.gitlab-runner.services.<name>.authenticationTokenConfigFile`
are mutually exclusive. Setting both at the same time would not make
much sense in this case.

[GitLab documentation]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes
[re-enable support for runner registration tokens]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#prevent-your-runner-registration-workflow-from-breaking
2024-06-25 17:06:45 +02:00
..
admin maintainers: drop lheckemann 2024-06-21 15:54:54 +02:00
amqp
audio maintainers: rename nu-nu-ko to fsnkty 2024-06-15 14:21:38 +12:00
backup
blockchain/ethereum
cluster nixos/kubernetes: fix service reload to restart 2024-06-22 07:52:46 +02:00
computing
continuous-integration nixos/gitlab-runner: Add support runner authentication tokens 2024-06-25 17:06:45 +02:00
databases treewide: remove jonringer as package maintainer 2024-06-25 09:16:56 +02:00
desktop-managers nixos/plasma6: allow null password for screen lock 2024-06-23 14:01:49 +03:00
desktops Merge pull request #310778 from wineee/dde23 2024-06-25 09:52:28 +08:00
development
display-managers treewide: big opengl cleanup 2024-06-16 14:11:33 +03:00
editors nixos/emacs: simplify the service's ExecStart line 2024-06-02 09:24:31 +03:00
finance
games ArchiSteamFarm: 6.0.1.24 -> 6.0.3.4, switch to generic upstream variant to support Monitoring Plugin 2024-06-09 04:51:37 +02:00
hardware treewide: remove jonringer as package maintainer 2024-06-25 09:16:56 +02:00
home-automation nixos/home-assistant: fix symlinking multi-manifest custom components 2024-06-23 22:03:37 +02:00
logging
mail Merge pull request #321828 from Shawn8901/stalwart-spamfilter 2024-06-24 00:08:49 +00:00
matrix nixos/matrix-synapse: fix typo 2024-06-20 13:53:38 +08:00
misc nixos/private-gpt: remove drupol from maintainers 2024-06-24 09:13:15 +02:00
monitoring nixos/prometheus: remove minio exporter 2024-06-25 11:00:01 +02:00
network-filesystems Merge pull request #321242 from onny/davfs2-remove-module 2024-06-22 21:25:02 +08:00
networking nixos/antennas: removed WorkingDirectory setting 2024-06-23 09:23:42 +02:00
printing
scheduling
search qdrant: use qdrant-web-ui 2024-06-18 12:54:42 +00:00
security treewide: remove wolfangaukang as maintainer 2024-06-22 07:03:16 -06:00
system Merge pull request #287611 from h7x4/nixos-module-fixup-kerberos-server 2024-06-14 17:04:55 +02:00
torrent nixos/rtorrent: make RuntimeDirectory not world readable 2024-06-24 19:01:17 -03:00
tracing
ttys treewide: big opengl cleanup 2024-06-16 14:11:33 +03:00
video treewide: fix all obviously wrong mkEnableOptions 2024-06-03 13:20:32 +02:00
wayland treewide: big opengl cleanup 2024-06-16 14:11:33 +03:00
web-apps Merge pull request #321931 from Ma27/occ-improvements 2024-06-23 17:42:42 +00:00
web-servers nixos/bluemap: fix defaults issue with services.bluemap.host 2024-06-20 21:05:03 -07:00
x11 Merge pull request #322186 from bobby285271/upd/cinnamon-xapps 2024-06-25 21:33:27 +08:00