dotfiles/nixos/systems/blowhole/uk3s.nix

68 lines
1.3 KiB
Nix
Raw Normal View History

{
config,
inputs',
...
}: {
imports = [
inputs'.uk3s-nix.nixosModules.uk3s
inputs'.uk3s-nix.nixosModules.uk3sIstio
inputs'.uk3s-nix.nixosModules.uk3sMetalLB
inputs'.uk3s-nix.nixosModules.ucontainers
inputs'.uk3s-nix.nixosModules.ucontainersNetwork
];
nixpkgs.overlays = [
inputs'.uk3s-nix.overlays.templateHelmChart
];
ucontainers.uk3s.settings = {
bind = [
"/mnt/kyle/infrastructure/k3s/postgresql:/var/lib/postgresql"
"/mnt/kyle/infrastructure/k3s/rancher:/var/lib/rancher"
"/etc/rancher:/etc/rancher"
];
};
environment.systemPackages = [
config.services.uk3s.package
];
services.uk3s = {
enable = true;
hostAddress = "172.26.96.1/24";
guestAddress = "172.26.96.2/24";
vethNetwork = "172.26.96.0/24";
clusterNetwork = "172.26.80.0/20";
serviceNetwork = "172.26.88.0/21";
hostInterface = "uk3s0";
istio = {
enable = true;
profile = "kubernetes";
istiod.enable = true;
operator.enable = true;
};
metallb = {
profile = "kubernetes";
enable = true;
};
k3s = {
settings = {
disable = [
"traefik"
"servicelb"
];
};
datastore = {
type = "postgresql";
};
};
};
}