forge runner

This commit is contained in:
Robert Perce 2026-01-07 16:37:18 -06:00
parent a2de246571
commit 0fbf1d0cb5
4 changed files with 67 additions and 1 deletions

View file

@ -15,7 +15,7 @@ dump() {
if [ -e "vm-$1.nix" ]; then if [ -e "vm-$1.nix" ]; then
sudo cp -f result/vzdump* /mnt/share/proxmox/dump/ sudo cp -f result/vzdump* /mnt/share/proxmox/dump/
elif [ -e "lxc-$1.nix" ]; then elif [ -e "lxc-$1.nix" ]; then
sudo cp -f result/tarball/nixos-system-x86_64-linux.tar.xz "/mnt/share/proxmox/dump/$1.tar.xz" sudo cp -f result/tarball/nixos-image-lxc-*.tar.xz "/mnt/share/proxmox/template/cache/$1.tar.xz"
fi fi
} }
@ -38,6 +38,11 @@ deploy() {
'nixos-rebuild switch --flake .#'"$1"' --target-host admin@"'"$ip"'" --use-remote-sudo' 'nixos-rebuild switch --flake .#'"$1"' --target-host admin@"'"$ip"'" --use-remote-sudo'
} }
jump-deploy() {
jump_ip=$(tailscale ip xalicas | head -n1)
env NIX_SSHOPTS="-J robert@$jump_ip" ./Taskfile deploy "$1"
}
ssh() { ssh() {
command "${2:-mosh}" admin@"$(get-ip "$1")" command "${2:-mosh}" admin@"$(get-ip "$1")"
} }

View file

@ -30,12 +30,14 @@ outputs = { self, nixpkgs, ... }@inputs:
majcraft = nixos-vma ./vm-majcraft.nix; majcraft = nixos-vma ./vm-majcraft.nix;
homelab = nixos-vma ./vm-homelab.nix; homelab = nixos-vma ./vm-homelab.nix;
metrics = nixos-lxc ./lxc-metrics.nix; metrics = nixos-lxc ./lxc-metrics.nix;
forge-runner = nixos-lxc ./lxc-forge-runner.nix;
}; };
packages.${system} = { packages.${system} = {
majcraft = image "majcraft"; majcraft = image "majcraft";
homelab = image "homelab"; homelab = image "homelab";
metrics = lxc "metrics"; metrics = lxc "metrics";
forge-runner = lxc "forge-runner";
}; };
}; };
} }

58
lxc-forge-runner.nix Normal file
View file

@ -0,0 +1,58 @@
{
pkgs,
lib,
...
}:
{
imports = [
./lxc-base.nix
];
config = {
my.vm = {
name = "runner01";
ip4 = "192.168.0.7";
};
environment.systemPackages = with pkgs; [
grafana-to-ntfy
];
networking.extraHosts = ''
192.168.0.2 xalicas
192.168.0.3 proxmox
192.168.0.4 craft01
192.168.0.5 lab01
192.168.0.6 metrics01
192.168.0.7 runner01
192.168.0.100 unifi
'';
networking.firewall.trustedInterfaces = [ "br-+" ];
virtualisation.docker = {
enable = true;
daemon.settings = {
fixed-cidr-v6 = "fd00::/80";
ipv6 = true;
};
};
services.gitea-actions-runner = {
package = pkgs.forgejo-runner;
instances.runner01 = {
enable = true;
name = "runner01";
token = "E17wr2p2EH4krR5NIUokwsBhhdLCWNW5ahpEyjHY";
url = "https://forge.rperce.net/";
labels = [
"node-22:docker://node:22-bookworm"
"nixos-latest:docker://nixos/nix"
"playwright-latest:docker://mcr.microsoft.com/playwright:v1.57.0-jammy"
];
# settings = { ... };
};
};
};
}

View file

@ -25,6 +25,7 @@
192.168.0.4 craft01 192.168.0.4 craft01
192.168.0.5 lab01 192.168.0.5 lab01
192.168.0.6 metrics01 192.168.0.6 metrics01
192.168.0.7 runner01
192.168.0.100 unifi 192.168.0.100 unifi
''; '';