diff --git a/build01/buildkite.nix b/build01/buildkite.nix index fab9e14..05e37aa 100644 --- a/build01/buildkite.nix +++ b/build01/buildkite.nix @@ -6,5 +6,12 @@ tokenPath = "/run/keys/buildkite-token"; openssh.privateKeyPath = builtins.toPath "/run/keys/buildkite-agent-key"; openssh.publicKeyPath = builtins.toPath "/run/keys/buildkite-agent-key-pub"; + + runtimePackages = [ + pkgs.gnutar + pkgs.bash + pkgs.nix + pkgs.gzip + ]; }; } diff --git a/build01/configuration.nix b/build01/configuration.nix index 4d30843..11fa8e6 100644 --- a/build01/configuration.nix +++ b/build01/configuration.nix @@ -3,7 +3,9 @@ { imports = [ ./hardware-configuration.nix + ./buildkite.nix + ./gitlab.nix ../profiles/common.nix ../profiles/docker.nix diff --git a/build01/gitlab.nix b/build01/gitlab.nix new file mode 100644 index 0000000..41beef4 --- /dev/null +++ b/build01/gitlab.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +let + gitlabModule = pkgs.fetchFromGitLab { + owner = "arianvp"; + repo = "nixos-gitlab-runner"; + rev = "9126927c701aa399bd1734e7e5230c3a0010c1b7"; + sha256 = "1s0fy5ny2ygcfvx35xws8xz5ih4z4kdfqlq3r6byxpylw7r52fyi"; + }; + +in { + imports = [ + "${gitlabModule}/gitlab-runner.nix" + ]; + + services.gitlab-runner2.enable = true; + services.gitlab-runner2.registrationConfigFile = "/run/keys/gitlab-runner-registration"; +} diff --git a/deployment.nix b/deployment.nix index ef3a474..f50a83c 100644 --- a/deployment.nix +++ b/deployment.nix @@ -33,6 +33,12 @@ in { permissions = "0600"; }; + deployment.keys.gitlab-runner-registration = { + text = secrets.gitlab-runner-registration; + user = "gitlab-runner"; + permissions = "0600"; + }; + }; } diff --git a/secrets/default.nix b/secrets/default.nix index 41d7dba..66710a9 100644 Binary files a/secrets/default.nix and b/secrets/default.nix differ diff --git a/secrets/gitlab-runner-registration b/secrets/gitlab-runner-registration new file mode 100644 index 0000000..d45159b Binary files /dev/null and b/secrets/gitlab-runner-registration differ