261 Commits
Author SHA1 Message Date
Silvan Mosberger b513ab8192 Reapply "ci: module maintainer review requests; nixos/modules: init meta.teams"
This reverts commit 2cc2e0225f.
2026-03-13 16:53:28 +01:00
Silvan MosbergerandGitHub 2cc2e0225f Revert "ci: module maintainer review requests; nixos/modules: init meta.teams" 2026-03-06 08:41:24 +01:00
Silvan Mosberger dbb164c759 nixos/modules: Use meta.teams over meta.maintainers = lib.teams.*.members
This allows getting the team itself requested for a review instead of
the individual members
2026-03-02 10:59:09 +01:00
Leona Maroni 9f6ee695a7 gitlab: 18.6.4 -> 18.7.2
https://about.gitlab.com/releases/2025/12/18/gitlab-18-7-released/

We need to use the vendored sidekiq for now, as GitLab introduced custom
code changes currently making it incompatable with sidekiq upstream.

The fix for gitlab_query_language is provided by Janne Heß.
2026-02-01 20:35:02 +01:00
NAHO a2ed7e8d88 nixos: remove optional builtins prefixes from prelude functions
Remove optional builtins prefixes from prelude functions by running:

    builtins=(
      abort
      baseNameOf
      break
      derivation
      derivationStrict
      dirOf
      false
      fetchGit
      fetchMercurial
      fetchTarball
      fetchTree
      fromTOML
      import
      isNull
      map
      null
      placeholder
      removeAttrs
      scopedImport
      throw
      toString
      true
    )

    fd \
      --exclude doc/manual/release-notes \
      --type file \
      . \
      nixos \
      --exec-batch sed --in-place --regexp-extended "
        s/\<builtins\.($(
          printf '%s\n' "${builtins[@]}" |
            paste --delimiter '|' --serial -
        ))\>/\1/g
      "

    nix fmt
2026-01-15 16:07:55 +01:00
mangoiv 7f562f73fd gitlab: set postgresql package version to 16 2025-12-14 13:41:45 +01:00
Wolfgang Walther 6691c568b0 nixosTests.gitlab: fix eval
This was recently turned into a throw.
2025-10-28 18:06:49 +01:00
Wolfgang Walther 90e7159c55 treewide: remove unused rec
Auto-fix by nixf-diagnose.
2025-10-05 10:49:12 +02:00
h7x4 2fb06be29f nixos/gitlab: use types.port 2025-09-22 16:46:44 +02:00
Wolfgang Walther 5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Wolfgang WaltherandMarcel 41c5662cbe nixos/postgresql: move postStart into separate unit
This avoids restarting the postgresql server, when only ensureDatabases
or ensureUsers have been changed. It will also allow to properly wait
for recovery to finish later.

To wait for "postgresql is ready" in other services, we now provide a
postgresql.target.

Resolves #400018

Co-authored-by: Marcel <me@m4rc3l.de>
2025-06-24 15:26:47 +02:00
Yaya ee58f11546 nixos/gitlab: update minimum PostgreSQL version assertion
GitLab 18.0.0 requires at least PostgreSQL 16.

https://docs.gitlab.com/18.0/install/requirements/#postgresql
2025-05-20 13:29:48 +02:00
Leona Maroni a95a530883 nixos/gitlab: add activeRecord key files
GitLab 17.11 started using rails activeRecord encryption for some values.
Introduce new key files. This is breaking for unstable/25.05.

Also add a test to prevent this from happening unnoticed in the future.

For the future there should also be an option to set multiple activeRecord
keys for rotation.
2025-05-07 22:17:02 +02:00
Leona MaroniandGitHub dd3403a0f5 nixosTests.gitlab: add minimal test for gitlab-container-registry (#390623) 2025-04-21 18:39:17 +02:00
Silvan Mosberger 374e6bcc40 treewide: Format all Nix files
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](https://github.com/NixOS/nixpkgs/tree/8616af08d915377bd930395f3b700a0e93d08728/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
2025-04-01 20:10:43 +02:00
Leona Maroni 50fc446be1 nixos/gitlab: convert gitlab-registry-cert.service to oneshot
docker-registry.service has a `After` dependency on gitlab-registry-cert.
On the first start, docker-registry.service fails to start as it already
runs when gitlab-registry-cert.service starts up, and not when it finished.
2025-03-17 09:19:23 +01:00
1a4575f9db nixos/modules: Add security.pki.caBundle option and make all services use it for CA bundles (#352244)
Previously some modules used `config.environment.etc."ssl/certs/ca-certificates.crt".source`, some used `"/etc/ssl/certs/ca-certificates.crt"`, and some used `"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"`. These were all bad in one way or another:

- `config.environment.etc."ssl/certs/ca-certificates.crt".source` relies on `source` being set; if `text` is set instead this breaks, introducing a weird undocumented requirement
- `"/etc/ssl/certs/ca-certificates.crt"` is probably okay but very un-nix. It's a magic string, and the path doesn't change when the file changes (and so you can't trigger service reloads, for example, when the contents change in a new system activation)
- `"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"` silently doesn't include the options from `security.pki`

Co-authored-by: Shelvacu <git@shelvacu.com>
2025-03-08 08:41:08 +00:00
Kirill Radzikhovskyy 469728b042 gitlab: allow to use bundler from nixpkgs, rather than bundler from
Gemfile.lock
2025-02-15 12:55:42 +11:00
dishandValentin Gagarin 44f86c5331 nixos/gitlab: fix documentation link formatting 2025-02-12 21:03:21 +01:00
piegames dd7d5339f7 treewide: Fix incorrect string indentations 2025-01-07 19:49:28 +01:00
Arne KellerandGitHub de99d3d3e3 nixos/gitlab: Fix registry port (#351496) 2024-12-21 16:56:18 +01:00
Alexander Sieg eebd4c3b01 gitlab: 17.3.7 -> 17.5.2 2024-11-29 17:51:19 +01:00
Matthieu Barthel 6f9c572a0e nixos/gitlab: Fix registry port
fix #350428
2024-10-26 19:50:53 +02:00
h7x4andBjørn Forsman dd7a192b4f nixos/gitlab: add services to systemd slice
Co-authored-by: Bjørn Forsman <bjorn.forsman@gmail.com>
2024-09-28 11:27:05 +02:00
PogobananeandYaya 8ccab48f1c gitlab-shell: rename bin/{install, check} to gitlab-shell-{install, check} 2024-08-08 17:41:20 +02:00
YayaandYureka feeb53a430 nixos/gitlab: Replace git package with bundled git
This commit switches gitaly's git package from `pkgs.git` to the bundled
`git` package in order to maintain compatibility with the supported git
release by gitaly.
2024-07-24 10:51:55 +02:00
Yaya b4d242907c nixos/gitlab: Add missing state folder 2024-06-27 19:52:03 +02:00
Yaya 59583de9d1 nixos/gitlab: Assert PostgreSQL >= 14.9
Support for PostgreSQL 13 has been removed in GitLab 17.0. [1]
Module users should upgrade their database installation to
PostgreSQL >= 14.9.

[1]: https://docs.gitlab.com/ee/update/deprecations.html#postgresql-13-no-longer-supported
2024-06-27 19:52:03 +02:00
Yaya c743d6d617 nixos/gitlab: Add a second database connection
GitLab deprecated single database connections in 15.9. [1]
From GitLab 17.0 onward it will be mandatory to define both `main` and
`ci` sections in the `database.yml`. [2]

This commit updates the module to address the upcoming breaking change.

[1]: https://gitlab.com/gitlab-org/gitlab/-/issues/387898
[2]: https://docs.gitlab.com/16.10/ee/install/installation.html#configure-gitlab-db-settings
2024-04-21 16:59:37 +02:00
Yaya df9bc1f9a7 nixos/gitlab: Rename postgresql port option 2024-04-21 16:58:30 +02:00
stuebinmandJonathan Ringer 6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
YayaandYureka dcd0f499c6 nixos/gitlab: Add option sidekiq.concurrency.
This commit adds an option to configure the amount of threads to use
with sidekiq-cluster. The GitLab default is currently set to 20 threads. In
space constrained environments this may become a problem with running
out of memory as a result.
2024-04-02 07:30:12 +02:00
YayaandYureka 774056a4e6 nixos/gitlab: Rename workhorse binary 2024-03-30 12:47:30 +01:00
ajs124andYureka bdabdf0c16 nixos/gitlab: use workhorse package from option in path 2024-03-19 13:47:55 +01:00
ajs124andYureka 1bada61543 nixos/gitlab: switch from sidekiq to sidekiq-cluster 2024-03-19 13:47:55 +01:00
Oliver Schmidt 13ba002dd0 nixos/services.gitlab: loosen the coupling between gitlab and postgres/ redis to avoid restarts and races
Gitlab stays running at redis and postgresql restarts as if these
components were on a different host anyways. Handling reconnetctions is
part of the application logic.

Co-authored-by: Kim Lindberger <kim.lindberger@gmail.com>
for formatting fixes and test failure debugging.
2024-02-07 18:19:18 +01:00
YurekaandGitHub 1a1c53c271 Revert "nixos/gitlab: Add CI database connection for >=15.9" (#280395) 2024-01-12 02:03:23 +01:00
YurekaandGitHub 29bc446b5c Revert "nixos/gitlab: fix database config when no passwordfile is defined" (#280392) 2024-01-12 02:00:49 +01:00
Tom SiewertandYaya 890ffaa1ae nixos/gitlab: fix database config when no passwordfile is defined
In commit 41ca9c1, the database config got an additional config entry
for a separate CI database connection [1]. Unfortunately, the main connection
must always be the first entry. The fix for this was only applied when
databasePasswordFile has been set.

This commit fixes the order of the config for deployments without a databasePasswordFile.

[1] https://docs.gitlab.com/ee/update/deprecations.html#single-database-connection-is-deprecated
2024-01-10 14:35:57 +01:00
Tom SiewertandYaya 838a2b54ed nixos/gitlab: Add CI database connection for >=15.9
Starting with GitLab 15.9, single connections were deprecated [1] and
will be removed in GitLab 17.0.

[1] https://docs.gitlab.com/ee/update/deprecations.html#single-database-connection-is-deprecated
2024-01-08 18:14:06 +01:00
h7x4 0a37316d6c treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
YayaandYureka 1a22627603 nixos/gitlab: Add a warning message
GitLab instances created or updated between versions [15.11.0, 15.11.2]
have an incorrect database schema. [1] This will become a problem once
upgrading GitLab to >=16.2.0.

A workaround can be found in the GitLab docs: [2]

[1]: https://gitlab.com/gitlab-org/gitlab/-/issues/408835
[2]: https://docs.gitlab.com/ee/update/versions/gitlab_16_changes.html#undefined-column-error-upgrading-to-162-or-later
2023-09-05 13:46:44 +02:00
97dfc365e6 gitlab: 16.1.4 -> 16.3.1
https://gitlab.com/gitlab-org/gitlab/-/blob/v16.3.1-ee/CHANGELOG.md

Fixes CVE-2022-4343
Fixes CVE-2023-0120
Fixes CVE-2023-1279
Fixes CVE-2023-1555
Fixes CVE-2023-3205
Fixes CVE-2023-3915
Fixes CVE-2023-3950
Fixes CVE-2023-4018
Fixes CVE-2023-4378
Fixes CVE-2023-4630
Fixes CVE-2023-4638
Fixes CVE-2023-4647

Co-Authored-By: Yaya <github@uwu.is>
2023-09-05 13:46:44 +02:00
Oliver SchmidtandGitHub ff9296f93e nixos/gitlab: ensure service started again after dependency restarts (#245240)
When a dependency, like postgresql.service or redis-gitlab.service, had
been stopped and started at switch-to-configuration time, gitlab.service
and its helper units had been stopped but not started again.
`multi-user.target` only has a `Wants` relation to gitlab.target, but
once gitlab.target has been successfully started once and is not stopped/
restarted again, it does not cause all its dependencies to stay activated
the whole time.

This commit fixes this by upgrading the dependy relationship of
gitlab.service towards gitlab.target from a "Wants" to a "Requires". It
should be enough to do this for this single unit part of gitlab.target
only, as all other units wantedBy gitlab.target are pulled in by
gitlab.service as well or have bindsTo relations.
2023-07-30 18:49:54 +02:00
Pol DellaieraandGitHub 764472b473 Merge pull request #233091 from yayayayaka/add-team-gitlab
maintainers/team-list: Add team gitlab
2023-07-07 15:19:15 +02:00
Alexander SiegandYureka 8d80108d6d nixos/gitlab: configure elasticsearch indexer path 2023-07-05 15:01:31 +02:00
Alexander SiegandGitHub 8934558abf nixos/gitlab: fix unit test result display (#241322)
After the update to GitLab 16 the puma worker needs `gzip` in it's PATH
in order to junit test results.
2023-07-04 18:57:19 +02:00
YayaandYureka 7d432c1ff9 nixos/gitlab: Add an additional folder to systemd-tmpfiles 2023-06-27 11:39:17 +02:00
Tom SiewertandGitHub 50d66bcba6 nixos/gitlab: Fix config reference for registry (#235639)
Support for gitlab-container-registry has been added in 014816cbe4.
However, when enabling the registry it will throw an error as it can't
find a `package` attribute.

This commit fixes the registry configuration by adding the missing
`registry` part.
2023-06-04 02:32:35 +02:00
YayaandYureka e9594e6031 nixos/gitlab: Warn users who are still using an external registry
This adds a warning for GitLab >=16.0.0 users who are still using an
external container registry such as `pkgs.docker-distribution`. Support
for external container registries has ended in GitLab 16.0 [1] and is
scheduled for removal in a future release. [2]

[1]: https://gitlab.com/gitlab-org/gitlab/-/issues/376217
[2]: https://gitlab.com/gitlab-org/gitlab/-/issues/403322
2023-05-31 22:14:25 +02:00