iac/nixosConfigurations.nix
2025-12-30 12:32:01 +01:00

67 lines
1.6 KiB
Nix

{ nixpkgs, agenix, ... }:
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 [
#./services/etcd.nix
#./services/k8s.nix
#./services/k8s-apiserver.nix
#./services/k8s-controller-manager.nix
#./services/k8s-kubelet.nix
#./services/k8s-proxy.nix
#./services/k8s-scheduler.nix
]
++ extraModules;
mkWorkerNode =
extraModules:
mkSystem [
#./services/k8s.nix
#./services/k8s-kubelet.nix
#./services/k8s-proxy.nix
]
++ extraModules;
in
{
"kaede" = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hosts/kaede
];
};
"master-01" = mkControlPlaneNode [ ];
"master-02" = mkControlPlaneNode [ ];
"master-03" = mkControlPlaneNode [ ];
"worker-01" = mkWorkerNode [ ];
"worker-02" = mkWorkerNode [ ];
"worker-03" = mkWorkerNode [ ];
"worker-04" = mkWorkerNode [ ];
"worker-05" = mkWorkerNode [ ];
}