Commit 838a2b54 authored by Tom Siewert's avatar Tom Siewert Committed by Yaya
Browse files

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
parent c289413c
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -27,7 +27,13 @@ let
      encoding = "utf8";
      pool = cfg.databasePool;
    } // cfg.extraDatabaseConfig;
  in if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.0" then {
  in if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.9" then {
    production.main = val;
    # Starting with GitLab 15.9, single connections were deprecated and will be
    # removed in GitLab 17.0. The CI connection however requires database_tasks set
    # to false.
    production.ci = val // { database_tasks = false; };
  } else if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.0" then {
    production.main = val;
  } else {
    production = val;
@@ -1348,7 +1354,7 @@ in {
                fi

                jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
                   '.${if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.0" then "production.main" else "production"}.password = $ENV.db_password' \
                   '.${if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.0" then "production.main" else "production"}.password = $ENV.db_password ${if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.9" then "| .production.ci.password = $ENV.db_password | .production.main as $main | del(.production.main) | .production |= {main: $main} + ." else ""}' \
                   >'${cfg.statePath}/config/database.yml'
              ''
              else ''