Cluster Modifiers

Cluster modifiers define the configuration axes for Kubernetes clusters created during conformance testing. Each modifier belongs to a group, and within each group only one modifier is active per cluster. This creates an exclusive selection axis for generating the cluster matrix.

Modifier Groups

GroupOptionsDescription
cnicanal, ciliumContainer Network Interface plugin
expose-strategyNodePort, LoadBalancer, TunnelingHow the cluster API is exposed
proxy-modeipvs, iptables, ebpfKube-proxy mode
auditenabled, disabledKubernetes audit logging
sshenabled, disabledSSH key agent
opaenabled, disabledOpen Policy Agent integration
mla-monitoringenabled, disabledMLA monitoring stack
mla-loggingenabled, disabledMLA logging stack
node-local-dnsenabled, disabledNode-local DNS cache
k8s-dashboardenabled, disabledKubernetes Dashboard
pod-node-selectorenabled, disabledPodNodeSelector admission controller
event-rate-limitdisabled, server-only, namespace-only, all-limit-typesEventRateLimit admission controller
csi-driverenabled, disabledCSI driver integration
update-windowconfigured, noneMaintenance window (excluded from dedup)
oidcdisabledOIDC configuration (excluded from dedup)
external-ccmenabled, disabledExternal Cloud Controller Manager
ipvs-strict-arpenabled, disabledIPVS strict ARP mode

Deduplication

Cluster modifiers are deduplicated using SHA-256 hashing. Two modifier combinations that produce the same effective cluster spec will share the same cluster, avoiding redundant cluster creation.

Some groups are excluded from the dedup hash because they don’t change the cluster’s functional behavior:

  • update-window — Maintenance windows don’t affect cluster behavior
  • oidc — OIDC is orthogonal to the provider/version matrix

How Modifiers Work

Each modifier has:

  • Name: Human-readable description (e.g., “with cni plugin set to canal”)
  • Group: Exclusive selection axis — only one modifier per group is active per cluster
  • Modify function: Applies the configuration change to the cluster spec