Hybrid cloud cluster monorepo with Ansible, K8s, NixOS, and Terraform. cute.haus
ansible terraform nix k8s
1

Configure Feed

Select the types of activity you want to include in your feed.

k3s: simplify tags and affinity rules

Aly Raffauf (Jun 23, 2026, 12:56 AM EDT) d8d50f35 3ccfd2db

+7 -7
+2 -2
k8s/charts/pg-shared/templates/cluster.yaml
··· 17 17 enablePodAntiAffinity: true 18 18 podAntiAffinityType: required 19 19 topologyKey: {{ .Values.cluster.topologyKey }} 20 - # Soft preference: ovhcloud/netcup (100) > home (50, default). 20 + # Soft preference: cloud (100) > home (50, default). 21 21 nodeAffinity: 22 22 preferredDuringSchedulingIgnoredDuringExecution: 23 23 - weight: 100 ··· 25 25 matchExpressions: 26 26 - key: topology.kubernetes.io/zone 27 27 operator: In 28 - values: [cloud-ovhcloud, cloud-netcup] 28 + values: [cloud] 29 29 - weight: 50 30 30 preference: 31 31 matchExpressions:
+2 -2
k8s/helmfile.yaml
··· 94 94 values: 95 95 - defaultSettings: 96 96 defaultDataPath: /var/lib/longhorn 97 - # One replica per zone (cloud-ovhcloud, cloud-netcup, home); soft 98 - # zone affinity spreads across providers. 97 + # One replica per zone (cloud, home); soft zone affinity spreads 98 + # across providers. 99 99 defaultReplicaCount: 3 100 100 replicaSoftAntiAffinity: false 101 101 replicaZoneSoftAntiAffinity: true
+1 -1
nix/hosts/pastoria.nix
··· 60 60 myK3s = { 61 61 role = "server"; 62 62 serverAddr = "https://eterna:6443"; 63 - zone = "cloud-ovhcloud"; 63 + zone = "cloud"; 64 64 ingress = true; 65 65 }; 66 66
+1 -1
nix/hosts/snowpoint.nix
··· 65 65 myK3s = { 66 66 role = "server"; 67 67 serverAddr = "https://pastoria:6443"; 68 - zone = "cloud-netcup"; 68 + zone = "cloud"; 69 69 ingress = true; 70 70 }; 71 71
+1 -1
nix/nixos/profiles/k3s.nix
··· 36 36 zone = lib.mkOption { 37 37 type = lib.types.nullOr lib.types.str; 38 38 default = null; 39 - example = "cloud-hetzner"; 39 + example = "cloud"; 40 40 }; 41 41 42 42 ingress = lib.mkEnableOption "cute.haus/ingress=true node label";