nix-config/krops.nix

45 lines
1.4 KiB
Nix
Raw Normal View History

let
krops = builtins.fetchGit {
url = "https://cgit.krebsco.de/krops/";
};
lib = import "${krops}/lib";
pkgs = import "${krops}/pkgs" {};
2020-11-19 17:52:44 +01:00
hostSource = path: nixos-branch:
lib.evalSource [ {
nixpkgs.git = {
2020-11-19 17:52:44 +01:00
ref = "origin/${nixos-branch}";
url = "https://github.com/NixOS/nixpkgs.git";
};
nixos-config.file = toString (./hosts + "/${path}/configuration.nix");
2020-04-14 20:58:04 +02:00
this-host.file = toString (./hosts + "/${path}");
lib.file = toString ./lib;
secrets.file = toString ./secrets;
"host-registry.nix".file = toString ./host-registry.nix;
} ];
deployContainer = containerName: host:
pkgs.krops.writeDeploy containerName {
2020-11-19 17:52:44 +01:00
source = hostSource "containers/${containerName}" "nixos-20.09";
target = "root@${host}";
};
in {
2020-04-04 01:39:01 +02:00
scrape = deployContainer "scrape" "172.20.73.32";
ledstripes = deployContainer "ledstripes" "172.22.99.168";
2020-04-05 02:31:57 +02:00
freifunk = deployContainer "freifunk" "172.20.72.40";
2020-05-23 01:17:16 +02:00
kibana = deployContainer "kibana" "172.20.73.44";
2020-06-19 19:33:07 +02:00
glotzbert = pkgs.krops.writeDeploy "glotzbert" {
2020-11-19 17:52:44 +01:00
source = hostSource "glotzbert" "nixos-20.09";
2020-06-19 19:33:07 +02:00
target = lib.mkTarget "k-ot@glotzbert.hq.c3d2.de" // {
sudo = true;
};
};
2020-06-21 22:27:17 +02:00
pulsebert = pkgs.krops.writeDeploy "pulsebert" {
source = hostSource "pulsebert" "nixos-20.09";
2020-06-21 22:27:17 +02:00
target = lib.mkTarget "k-ot@pulsebert.hq.c3d2.de" // {
sudo = true;
};
};
}