CNI Options
Options for: cilium.
All options are under lab.clusters.<name>.components.
cilium.bandwidthManager.bbr
Enable BBR TCP congestion control
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.bandwidthManager.enable
Enable bandwidth manager for rate limiting
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.bgp.enable
Enable BGP control plane for advertising routes to external routers
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.bgp.localASN
Local BGP Autonomous System Number for this cluster
Type: signed integer
Default: 65001
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.bgp.peers
BGP peers to establish sessions with
Type: list of (submodule)
Default: [ ]
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.bgp.peers.*.address
BGP peer IP address
Type: string
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.bgp.peers.*.asn
BGP peer Autonomous System Number
Type: signed integer
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.chart
Cilium Helm chart derivation (default: cataCharts.cilium)
Type: package
Default: <derivation helm-chart-https-helm.cilium.io-cilium-1.17.2>
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.clusterMesh.clusterID
Unique cluster ID within the mesh (0-255)
Type: unsigned integer, meaning >=0
Default: 0
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.clusterMesh.clusterName
Cluster name for mesh identity (default: cluster.name)
Type: null or string
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.clusterMesh.enable
Enable multi-cluster networking via ClusterMesh
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.egressGateway.enable
Enable egress gateway for controlled outbound traffic
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.enable
Whether to enable Cilium CNI.
Type: boolean
Default: false
Example: true
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.encryption.enable
Enable transparent encryption of pod-to-pod traffic
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.encryption.nodeEncryption
Also encrypt node-to-node traffic
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.encryption.type
Encryption backend (WireGuard recommended)
Type: one of "wireguard", "ipsec"
Default: "wireguard"
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.gatewayAPI.enable
Enable Kubernetes Gateway API support (replaces legacy Ingress)
Type: boolean
Default: true
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.gatewayAPI.tls.domain
Base domain for wildcard cert (e.g. homelab.test → *.homelab.test)
Type: string
Default: ""
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.gatewayAPI.tls.enable
Enable HTTPS listener on the default Gateway with cert-manager TLS
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.gatewayAPI.tls.issuerRef
cert-manager issuer for the Gateway wildcard certificate
Type: submodule
Default:
{
kind = "ClusterIssuer";
name = "lab-ca";
}
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.gatewayAPI.tls.issuerRef.kind
Issuer kind
Type: string
Default: "ClusterIssuer"
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.gatewayAPI.tls.issuerRef.name
cert-manager Issuer or ClusterIssuer name
Type: string
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.gatewayAPI.tls.passthrough.enable
Enable TLS passthrough listener on the Gateway (for backends that terminate TLS themselves)
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.hubble.enable
Enable Hubble network observability
Type: boolean
Default: true
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.hubble.relay.enable
Enable Hubble Relay
Type: boolean
Default: true
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.hubble.ui.enable
Enable Hubble UI dashboard
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.ingressController.enable
Enable Cilium’s native ingress controller
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.ingressController.loadbalancerMode
LoadBalancer mode for ingress
Type: one of "shared", "dedicated"
Default: "shared"
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.ipam.mode
IP Address Management mode
Type: one of "kubernetes", "cluster-pool"
Default: "kubernetes"
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.k8sServiceHost
Kubernetes API server host. When null, auto-configured based on cluster provider:
- external (CAPI): uses Kubernetes service ClusterIP (10.96.0.1)
- docker (k3d): uses localhost
Type: null or string
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.k8sServicePort
Kubernetes API server port. When null, auto-configured based on cluster provider:
- external (CAPI): 443 (Kubernetes service port)
- docker (k3d): 6443
Type: null or string
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.kubeProxyReplacement
Replace kube-proxy with eBPF-based load balancing
Type: boolean
Default: true
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.l2.announcements
Enable L2 (ARP/NDP) announcements for service IPs
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.lbIPAM.enable
Enable LoadBalancer IP Address Management
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.lbIPAM.pools
IP address pools for LoadBalancer services
Type: list of (submodule)
Default: [ ]
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.lbIPAM.pools.*.cidrs
CIDR ranges for IP allocation
Type: list of string
Default: [ ]
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.lbIPAM.pools.*.name
Pool name
Type: string
Default: "default"
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.networkPolicy.clusterNetworkPolicy
Enable CiliumClusterwideNetworkPolicy CRD
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.networkPolicy.enable
Enable Kubernetes NetworkPolicy enforcement
Type: boolean
Default: true
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.networkPolicy.hostFirewall
Enable host-level firewall enforcement
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.networkPolicy.policyAuditMode
Audit mode — log policy violations instead of enforcing
Type: boolean
Default: false
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.operator.replicas
Number of Cilium operator replicas
Type: positive integer, meaning >0
Default: 1
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.phase
Deployment phase this component belongs to
Type: string
Default: "networking"
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.ref
Computed references for Cilium
Type: attribute set
Default: { }
Declared in: modules/lab/cluster/components/cni/cilium.nix
cilium.version
Cilium version
Type: string
Default: "1.16.3"
Declared in: modules/lab/cluster/components/cni/cilium.nix