Hippocampus: Remove Unused Deploy Machines
TODO: Replace the deployment with microvms similar to how it's implemented in https://gitea.c3d2.de/c3d2
This commit is contained in:
@@ -1,14 +1,4 @@
|
|||||||
{config, pkgs, ...}: let
|
{config, pkgs, ...}: let
|
||||||
deploy-container = pkgs.writeScriptBin "deploy-nixos-container" ''
|
|
||||||
pushd $2
|
|
||||||
nixos-container update $1 --flake $2#$3
|
|
||||||
git reset --hard HEAD
|
|
||||||
git clean -fdx
|
|
||||||
git reflog expire --expire=now --all
|
|
||||||
git repack -ad # Remove dangling objects from packfiles
|
|
||||||
git prune # Remove dangling loose objects
|
|
||||||
popd
|
|
||||||
'';
|
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
# ./nix-serve.nix
|
# ./nix-serve.nix
|
||||||
@@ -42,38 +32,6 @@ in {
|
|||||||
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
# Deployment User
|
|
||||||
users.users.hydra-deploy = {
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/var/lib/hydra/deploy";
|
|
||||||
description = "Hydra Deployment User";
|
|
||||||
extraGroups = [ "hydra" ];
|
|
||||||
packages = [
|
|
||||||
deploy-container
|
|
||||||
];
|
|
||||||
};
|
|
||||||
# TODO: Configure authorizedKeys between
|
|
||||||
# hydra-queue-runner and hydra-deploy
|
|
||||||
security.sudo.extraRules = [
|
|
||||||
{
|
|
||||||
users = ["hydra-deploy"];
|
|
||||||
commands = [
|
|
||||||
{
|
|
||||||
command = "${deploy-container}/bin/deploy-nixos-container *";
|
|
||||||
options = ["NOPASSWD"];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
networking.nat = {
|
|
||||||
enable = true;
|
|
||||||
internalInterfaces = [
|
|
||||||
"ve-newalan"
|
|
||||||
"ve-handyhelper"
|
|
||||||
];
|
|
||||||
externalInterface = "enp0s25";
|
|
||||||
enableIPv6 = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.buildMachines = [
|
nix.buildMachines = [
|
||||||
{ hostName = "localhost";
|
{ hostName = "localhost";
|
||||||
|
|||||||
Reference in New Issue
Block a user