chore(ops): move from gerrit-queue to gerrit-autosubmit

Enables the new autosubmit bot, albeit without rebase
functionality (this will be a separate change).

Change-Id: Ia42a4f08c0edca5e6cc8bf4770ec24dbf16a5db7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10132
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
This commit is contained in:
Vincent Ambo 2023-11-27 11:44:06 +03:00 committed by clbot
parent 623805cecd
commit a554531e28
5 changed files with 46 additions and 57 deletions

View file

@ -12,7 +12,7 @@ in
(mod "atward.nix")
(mod "cgit.nix")
(mod "clbot.nix")
(mod "gerrit-queue.nix")
(mod "gerrit-autosubmit.nix")
(mod "irccat.nix")
(mod "josh.nix")
(mod "journaldriver.nix")
@ -224,7 +224,7 @@ in
in
{
clbot.file = secretFile "clbot";
gerrit-queue.file = secretFile "gerrit-queue";
gerrit-autosubmit.file = secretFile "gerrit-autosubmit";
grafana.file = secretFile "grafana";
irccat.file = secretFile "irccat";
keycloak-db.file = secretFile "keycloak-db";
@ -429,8 +429,7 @@ in
};
# Run autosubmit bot for Gerrit
# b/333: disabled for now because of bugs
gerrit-queue.enable = false;
gerrit-autosubmit.enable = true;
};
services.postgresql = {

View file

@ -0,0 +1,42 @@
# Configuration for the Gerrit autosubmit bot (//ops/gerrit-autosubmit)
{ depot, pkgs, config, lib, ... }:
let
cfg = config.services.depot.gerrit-autosubmit;
description = "gerrit-autosubmit - autosubmit bot for Gerrit";
mkStringOption = default: lib.mkOption {
inherit default;
type = lib.types.str;
};
in
{
options.services.depot.gerrit-autosubmit = {
enable = lib.mkEnableOption description;
gerritUrl = mkStringOption "https://cl.tvl.fyi";
secretsFile = with lib; mkOption {
description = "Path to a systemd EnvironmentFile containing secrets";
default = config.age.secretsDir + "/gerrit-autosubmit";
type = types.str;
};
};
config = lib.mkIf cfg.enable {
systemd.services.gerrit-autosubmit = {
inherit description;
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
serviceConfig = {
ExecStart = "${depot.ops.gerrit-autosubmit}/bin/gerrit-autosubmit";
DynamicUser = true;
Restart = "always";
EnvironmentFile = cfg.secretsFile;
};
environment = {
GERRIT_URL = cfg.gerritUrl;
};
};
};
}

View file

@ -1,52 +0,0 @@
# Configuration for the Gerrit autosubmit bot (//third_party/gerrit-queue)
{ depot, pkgs, config, lib, ... }:
let
cfg = config.services.depot.gerrit-queue;
description = "gerrit-queue - autosubmit bot for Gerrit";
mkStringOption = default: lib.mkOption {
inherit default;
type = lib.types.str;
};
in
{
options.services.depot.gerrit-queue = {
enable = lib.mkEnableOption description;
gerritUrl = mkStringOption "https://cl.tvl.fyi";
gerritProject = mkStringOption "depot";
gerritBranch = mkStringOption "canon";
interval = with lib; mkOption {
type = types.int;
default = 60;
description = "Interval (in seconds) for submit queue checks";
};
secretsFile = with lib; mkOption {
description = "Path to a systemd EnvironmentFile containing secrets";
default = config.age.secretsDir + "/gerrit-queue";
type = types.str;
};
};
config = lib.mkIf cfg.enable {
systemd.services.gerrit-queue = {
inherit description;
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.gerrit-queue}/bin/gerrit-queue";
DynamicUser = true;
Restart = "always";
EnvironmentFile = cfg.secretsFile;
};
environment = {
GERRIT_URL = cfg.gerritUrl;
GERRIT_PROJECT = cfg.gerritProject;
GERRIT_BRANCH = cfg.gerritBranch;
SUBMIT_QUEUE_TRIGGER_INTERVAL = toString cfg.interval;
};
};
};
}

View file

@ -36,7 +36,7 @@ in
"clbot.age" = whitbyDefault;
"depot-inbox-imap.age" = sandunyDefault;
"depot-replica-key.age" = whitbyDefault;
"gerrit-queue.age" = whitbyDefault;
"gerrit-autosubmit.age" = whitbyDefault;
"gerrit-secrets.age" = whitbyDefault;
"grafana.age" = whitbyDefault;
"irccat.age" = whitbyDefault;