iac/nixosConfigurations.nix
2025-12-29 16:50:01 +01:00

75 lines
1.7 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
{
"k8s" = mkSystem [
# ./configuration.nix
{
virtualisation = {
useEFIBoot = true;
libvirtd = {
enable = true;
nss.enableGuest = true;
startDelay = 1;
onShutdown = "shutdown";
};
};
}
];
"master-01" = mkControlPlaneNode [ ];
"master-02" = mkControlPlaneNode [ ];
"master-03" = mkControlPlaneNode [ ];
"worker-01" = mkWorkerNode [ ];
"worker-02" = mkWorkerNode [ ];
"worker-03" = mkWorkerNode [ ];
"worker-04" = mkWorkerNode [ ];
"worker-05" = mkWorkerNode [ ];
}