diff --git a/hosts/myself/container-git.nix b/hosts/myself/container-git.nix index c68fe88..bd46e0e 100644 --- a/hosts/myself/container-git.nix +++ b/hosts/myself/container-git.nix @@ -26,7 +26,13 @@ useHostResolvConf = lib.mkForce false; }; - greg.proxies."192.168.200.2".target = "http://unix:/run/gitlab/gitlab-workhorse.socket"; + greg.proxies."192.168.200.2" = { + target = "http://unix:/run/gitlab/gitlab-workhorse.socket"; + extraConfig = '' + proxy_set_header X-Forwarded-Proto https; + proxy_set_header X-Forwarded-Ssl on; + ''; + }; services = { resolved.enable = true; diff --git a/hosts/myself/container-runner-vbox.nix b/hosts/myself/container-runner-vbox.nix index c73e3c1..0bc60b3 100644 --- a/hosts/myself/container-runner-vbox.nix +++ b/hosts/myself/container-runner-vbox.nix @@ -26,11 +26,14 @@ lib.attrsets.recursiveUpdate { curl gawk git + p7zip packer pup py shellcheck + unzip xorriso + wget ]; networking = { diff --git a/hosts/myself/git.nix b/hosts/myself/git.nix index 6ae3a52..8a588b9 100644 --- a/hosts/myself/git.nix +++ b/hosts/myself/git.nix @@ -23,7 +23,13 @@ in { }; }; - greg.proxies."git.thehellings.lan".target = "http://192.168.200.2"; + greg.proxies."git.thehellings.lan" = { + target = "http://192.168.200.2"; + extraConfig = '' + proxy_set_header X-Forwarded-Proto https; + proxy_set_header X-Forwarded-Ssl on; + ''; + }; system.activationScripts.makeGitlabDir = lib.stringAfter [ "var" ] "mkdir -p ${gitlabStateDir} && touch ${gitlabStateDir}/touch"; @@ -44,17 +50,32 @@ in { config = ((import ./container-git.nix) { inherit inputs registryPort; }); }; - systemd.services."container@gitlab-runner-qemu".serviceConfig = { - DevicePolicy = lib.mkForce "auto"; - ExecPostStop = [ - "rmmod kvm_amd kvm" - ]; - ExecPreStart = [ - "modprobe kvm" - ]; + systemd.services = { + "container@gitlab-runner-qemu" = { + conflicts = [ + "container@gitlab-runner-vbox.service" + ]; + serviceConfig = { + DevicePolicy = lib.mkForce "auto"; + ExecPostStop = [ "rmmod kvm_amd kvm" ]; + ExecPreStart = [ "modprobe kvm" ]; + }; + }; + "container@gitlab-runner-vbox" = { + conflicts = [ + "container@gitlab-runner-qemu.service" + ]; + serviceConfig = { + DevicePolicy = lib.mkForce "auto"; + ExecPostStop = [ "rmmod vboxnetadp vboxnetflt vboxdrv" ]; + ExecPreStart = [ "modprobe vboxdrv vboxnetadp vboxnetflt" ]; + }; + }; }; - systemd.services."container@gitlab-runner-qemu".conflicts = [ "container@gitlab-runner-vbox.service" ]; + ##################################################################################### + #################### QEmu Runner #################################################### + ##################################################################################### containers.gitlab-runner-qemu = container { bindMounts = { "/dev/kvm" = { @@ -70,22 +91,6 @@ in { config = ((import ./container-runner-qemu.nix) inputs); }; - systemd.services."container@gitlab-runner-vbox".serviceConfig = { - DevicePolicy = lib.mkForce "auto"; - ExecPostStop = [ - "rmmod vboxnetadp vboxnetflt vboxdrv" - ]; - ExecPreStart = [ - "modprobe vboxdrv vboxnetadp vboxnetflt" - ]; - }; - systemd.services."container@gitlab-runner-vbox".conflicts = [ "container@gitlab-runner-qemu.service" ]; - - systemd.services.gitlab-runner = { - wants = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; - }; - ##################################################################################### #################### Virtualbox Runner ############################################## ##################################################################################### @@ -142,19 +147,19 @@ in { ##################################################################################### age.secrets.runner-reg.file = ../../secrets/gitlab/myself-podman-runner-reg.age; services.gitlab-runner = { - enable = true; + enable = false; settings.concurrent = 5; - services.podman = { - executor = "docker"; - registrationConfigFile = config.age.secrets.runner-reg.path; - tagList = [ "container" ]; - dockerImage = "ubuntu:22.04"; + services = { + default = { + executor = "docker"; + registrationConfigFile = config.age.secrets.runner-reg.path; + dockerImage = "debian:stable"; + }; }; }; - virtualisation.podman = { - enable = true; - dockerCompat = true; - dockerSocket.enable = true; + virtualisation = { + docker.enable = true; + oci-containers.backend = "docker"; }; - virtualisation.docker.enable = false; + #users.users.gitlab-runner.extraGroups = [ "docker" ]; } diff --git a/secrets/secrets.nix b/secrets/secrets.nix index a82e039..d71e864 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -53,4 +53,5 @@ in "gitlab/myself-vbox-runner-reg.age".publicKeys = everyone; "gitlab/myself-podman-runner-reg.age".publicKeys = everyone; "gitlab/myself-shell-runner-reg.age".publicKeys = everyone; + "gitlab/myself-vmware-runner-reg.age".publicKeys = everyone; }