X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fbuildbot%2Fdefault.nix;h=273ad705ef803a1178c0a8affefea65855e11eab;hb=0012da0ff3d45df9f68412b90be4f7c24d46a777;hp=d023a835e83afc5f989496fc45b2e1dd0fe25e7a;hpb=17f6eae9907a122d4472da727ae8b1ac1c40c027;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/buildbot/default.nix b/modules/private/buildbot/default.nix index d023a83..273ad70 100644 --- a/modules/private/buildbot/default.nix +++ b/modules/private/buildbot/default.nix @@ -24,6 +24,9 @@ in }; config = lib.mkIf config.myServices.buildbot.enable { + services.duplyBackup.profiles.buildbot = { + rootDir = varDir; + }; ids.uids.buildbot = myconfig.env.buildbot.user.uid; ids.gids.buildbot = myconfig.env.buildbot.user.gid; @@ -37,11 +40,11 @@ in extraGroups = [ "keys" ]; }; - services.websites.tools.watchPaths = lib.attrsets.mapAttrsToList + services.websites.env.tools.watchPaths = lib.attrsets.mapAttrsToList (k: project: "/var/secrets/buildbot/${project.name}/webhook-httpd-include") myconfig.env.buildbot.projects; - services.websites.tools.vhostConfs.git.extraConfig = lib.attrsets.mapAttrsToList (k: project: '' + services.websites.env.tools.vhostConfs.git.extraConfig = lib.attrsets.mapAttrsToList (k: project: '' RedirectMatch permanent "^/buildbot/${project.name}$" "/buildbot/${project.name}/" RewriteEngine On RewriteRule ^/buildbot/${project.name}/ws(.*)$ unix:///run/buildbot/${project.name}.sock|ws://git.immae.eu/ws$1 [P,NE,QSA,L] @@ -65,7 +68,11 @@ in system.activationScripts = lib.attrsets.mapAttrs' (k: project: lib.attrsets.nameValuePair "buildbot-${project.name}" { deps = [ "users" "wrappers" ]; - text = project.activationScript; + text = '' + install -m 755 -o buildbot -g buildbot -d ${varDir}/${project.name} + + ${project.activationScript} + ''; }) myconfig.env.buildbot.projects; secrets.keys = ( @@ -175,7 +182,9 @@ in )} ''; environment = let - project_env = lib.attrsets.mapAttrs' (k: v: lib.attrsets.nameValuePair "BUILDBOT_${k}" v) project.environment; + project_env = with lib.attrsets; + mapAttrs' (k: v: nameValuePair "BUILDBOT_${k}" v) project.environment // + mapAttrs' (k: v: nameValuePair "BUILDBOT_PATH_${k}" (v pkgs)) (attrByPath ["builderPaths"] {} project); buildbot_config = pkgs.python3Packages.buildPythonPackage (rec { name = "buildbot_config-${project.name}"; src = ./projects + "/${project.name}";