iac/nixosConfigurations.nix
2026-02-22 13:34:25 +01:00

105 lines
1.9 KiB
Nix

{ nixpkgs, agenix, NixVirt, ... }:
let
system = "x86_64-linux";
baseModules = [
agenix.nixosModules.default
{ environment.systemPackages = [ agenix.packages.${system}.default ]; }
{
age.secrets = {
#etcd-root-crt = {
# file = ./secrets/etcd-root-crt.age;
# mode = "444";
# owner = "root";
# group = "root";
#};
#k8s-root-crt = {
# file = ./secrets/k8s-root-crt.age;
# mode = "444";
# owner = "root";
# group = "root";
#};
};
}
];
mkSystem =
extraModules:
nixpkgs.lib.nixosSystem {
inherit system;
modules = baseModules ++ extraModules;
};
mkControlPlaneNode =
extraModules:
mkSystem ([
{
age.secrets = {};
}
]
++ extraModules);
mkWorkerNode =
extraModules:
mkSystem ([
{
age.secrets = {};
}
]
++ extraModules);
in
{
"kaede" = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
NixVirt.nixosModules.default
./hosts/kaede
];
};
"control-plane-01" = mkControlPlaneNode [
{
age.secrets = {};
}
./hosts/control-plane-01
];
"control-plane-02" = mkControlPlaneNode [
{
age.secrets = {};
}
./hosts/control-plane-02
];
"control-plane-03" = mkControlPlaneNode [
{
age.secrets = {};
}
./hosts/control-plane-03
];
"worker-01" = mkWorkerNode [
{
age.secrets = {};
}
./hosts/worker-01
];
"worker-02" = mkWorkerNode [
{
age.secrets = {};
}
./hosts/worker-02
];
"worker-03" = mkWorkerNode [
{
age.secrets = {};
}
./hosts/worker-03
];
"worker-04" = mkWorkerNode [
{
age.secrets = {};
}
./hosts/worker-04
];
"worker-05" = mkWorkerNode [
{
age.secrets = {};
}
./hosts/worker-05
];
}