Ingress-NGINX Controller Reference
Parameters
Common parameters
| Name | Description | Type | Value |
|---|---|---|---|
replicas | Number of ingress-nginx replicas. | int | 2 |
whitelist | List of client networks. | []string | [] |
cloudflareProxy | Restoring original visitor IPs when Cloudflare proxied is enabled. | bool | false |
resources | Explicit CPU and memory configuration for each ingress-nginx replica. When omitted, the preset defined in resourcesPreset is applied. | object | {} |
resources.cpu | CPU available to each replica. | quantity | "" |
resources.memory | Memory (RAM) available to each replica. | quantity | "" |
resourcesPreset | Default sizing preset used when resources is omitted. | string | micro |
Exposure mode
The ingress Service type is driven by the cluster-wide publishing.exposure value in the platform chart, not by any key in this package. Two modes exist:
externalIPs(default) has three rendered shapes:- Release namespace matches
publishing.ingressNameANDpublishing.externalIPsis non-empty → Service isClusterIPwithService.spec.externalIPsset from that list andexternalTrafficPolicy: Cluster. - Release namespace matches
publishing.ingressNamebutpublishing.externalIPsis empty → Service falls back totype: LoadBalancerwithexternalTrafficPolicy: Local. - Release namespace does not match
publishing.ingressName(non-root tenants) → Service istype: LoadBalancerwithexternalTrafficPolicy: Local.Service.spec.externalIPsis deprecated upstream in Kubernetes v1.36 (KEP-5707); plan migration before v1.40.
- Release namespace matches
loadBalancer— Service istype: LoadBalancerwithexternalTrafficPolicy: Local, and aCiliumLoadBalancerIPPoolmakes the addresses inpublishing.externalIPsallocatable via Cilium LB IPAM. Requirespublishing.externalIPsto contain at least one non-empty address (render fails otherwise) and assumes the addresses are already routed to a cluster node (floating IP / upstream router). See the inline comment onpublishing.exposurein the platform chart for full caveats, including the note that switching the value on a running cluster causes the ingress Service to be recreated.
This setting only migrates ingress-nginx away from Service.spec.externalIPs. Other cozystack components that use the same deprecated field (e.g. the vpn app) must be migrated separately before Kubernetes v1.40 flips the AllowServiceExternalIPs feature gate off.