feat(fun/clbot,ops/machines/whitby): filter tvix-dev clbot

In #tvix-dev, we want to display only CLs that relate to tvix and
related projects.

So use a pretty dumb allow-list for which CLs to display in that
channel.

Change-Id: I3ef50b64e3d7fbc27a6690be6a10f1b55c04cd6e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11658
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
This commit is contained in:
Profpatsch 2024-05-13 17:54:34 +02:00
parent 1b39d5868a
commit 9559ef56e3
4 changed files with 55 additions and 9 deletions

View file

@ -7,6 +7,7 @@ let
inherit (lib)
listToAttrs
mapAttrsToList
mkEnableOption
mkIf
mkOption
@ -25,13 +26,13 @@ let
${pkgs.systemd}/bin/systemd-escape '${name}' >> $out
''));
mkUnit = flags: channel: {
mkUnit = channel: channelFlags: {
name = "clbot-${systemdEscape channel}";
value = {
description = "${description} to ${channel}";
wantedBy = [ "multi-user.target" ];
script = "${depot.fun.clbot}/bin/clbot ${mkFlags (cfg.flags // {
script = "${depot.fun.clbot}/bin/clbot ${mkFlags (cfg.flags // channelFlags // {
irc_channel = channel;
})} -alsologtostderr";
@ -53,8 +54,8 @@ in
};
channels = mkOption {
type = with types; listOf str;
description = "Channels in which to post (generates one unit per channel)";
type = with types; attrsOf (attrsOf str);
description = "Channels in which to post (generates one unit per channel); nested attrs are used as extra flags to the service, which override the attrs in `flags`";
};
secretsFile = mkOption {
@ -77,6 +78,6 @@ in
};
};
systemd.services = listToAttrs (map (mkUnit cfg.flags) cfg.channels);
systemd.services = listToAttrs (mapAttrsToList mkUnit cfg.channels);
};
}