Commit graph

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 Mosberger
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 Walther
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 Maroni
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](8616af08d9/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
shelvacu
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
dish
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 Keller
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
h7x4
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
Pogobanane
8ccab48f1c gitlab-shell: rename bin/{install, check} to gitlab-shell-{install, check} 2024-08-08 17:41:20 +02:00
Yaya
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
stuebinm
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
Yaya
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
Yaya
774056a4e6 nixos/gitlab: Rename workhorse binary 2024-03-30 12:47:30 +01:00
ajs124
bdabdf0c16 nixos/gitlab: use workhorse package from option in path 2024-03-19 13:47:55 +01:00
ajs124
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
Yureka
1a1c53c271
Revert "nixos/gitlab: Add CI database connection for >=15.9" (#280395) 2024-01-12 02:03:23 +01:00
Yureka
29bc446b5c
Revert "nixos/gitlab: fix database config when no passwordfile is defined" (#280392) 2024-01-12 02:00:49 +01:00
Tom Siewert
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 Siewert
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
Yaya
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
ajs124
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 Schmidt
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 Dellaiera
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 Sieg
8d80108d6d nixos/gitlab: configure elasticsearch indexer path 2023-07-05 15:01:31 +02:00
Alexander Sieg
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
Yaya
7d432c1ff9 nixos/gitlab: Add an additional folder to systemd-tmpfiles 2023-06-27 11:39:17 +02:00
Tom Siewert
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
Yaya
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