Skip to content

Ingress-NGINX Controller Config Schema

Note

This is auto-generated documentation from a JSON schema that is under construction, this will improve over time.

Return to the root config schema

https://raw.githubusercontent.com/elastisys/compliantkubernetes-apps/main/config/schemas/config.yaml#/properties/ingressNginx

Configure Ingress-NGINX, the ingress controller.

Abstract Extensible Status Identifiable Custom Properties Additional Properties Access Restrictions Defined In
Can be instantiated No Unknown status No Forbidden Forbidden none config/schemas/config.yaml*

TYPE:

object (Ingress-NGINX Controller Config)

PROPERTIES:

Property Type Required Nullable Defined by
subDomain string Optional cannot be null Welkin Apps Config
controller object Optional cannot be null Welkin Apps Config
defaultBackend object Optional cannot be null Welkin Apps Config

subDomain

subDomain

TYPE:

string (Ingress-NGINX Subdomain)

controller

Configure the controller daemonset of Ingress-NGINX.

controller

TYPE:

object (Ingress-NGINX Controller)

defaultBackend

Configure the default backend deployment of Ingress-NGINX.

defaultBackend

TYPE:

object (Ingress-NGINX Default Backend)

Definitions

service

Reference this group by using

{"$ref":"https://raw.githubusercontent.com/elastisys/compliantkubernetes-apps/main/config/schemas/config.yaml#/properties/ingressNginx/$defs/service"}
Property Type Required Nullable Defined by
enabled boolean Optional cannot be null Welkin Apps Config
annotations object Optional cannot be null Welkin Apps Config
type string Optional cannot be null Welkin Apps Config
clusterIP Merged Optional cannot be null Welkin Apps Config
ipFamilyPolicy string Optional cannot be null Welkin Apps Config
ipFamilies array Optional cannot be null Welkin Apps Config
allocateLoadBalancerNodePorts boolean Optional cannot be null Welkin Apps Config
loadBalancerIP string Optional cannot be null Welkin Apps Config
loadBalancerSourceRanges array Optional cannot be null Welkin Apps Config
nodePorts object Optional cannot be null Welkin Apps Config
disabledCondition object Optional cannot be null Welkin Apps Config
enabledCondition Merged Optional cannot be null Welkin Apps Config
clusterIpCondition Not specified Optional cannot be null Welkin Apps Config
loadBalancerCondition Not specified Optional cannot be null Welkin Apps Config
nodePortCondition Not specified Optional cannot be null Welkin Apps Config

enabled

enabled

TYPE:

boolean (Ingress-NGINX Service Enabled)

annotations

annotations

TYPE:

object (Service Annotations)

DEFAULTS:

The default value is:

{}

type

Configure the type of the Service.

type

TYPE:

string (Service Type)

CONSTRAINTS:

enum: the value of this property must be equal to one of the following values:

Value Explanation
"ClusterIP"
"LoadBalancer"
"NodePort"

clusterIP

clusterIP

TYPE:

string (Service ClusterIP)

one (and only one) of

ipFamilyPolicy

Represents the dual-stack-ness requested or required by this Service. When utilizing an internal loadbalancer service (ie MetalLB), set this field to "RequireDualStack" if you want both IPv4 and IPv6 connectivity. The ipFamilies and clusterIPs fields depend on the value of this field.

See reference

ipFamilyPolicy

TYPE:

string (Service IP Family Policy)

CONSTRAINTS:

enum: the value of this property must be equal to one of the following values:

Value Explanation
""
"SingleStack"
"PreferDualStack"
"RequireDualStack"

DEFAULTS:

The default value is:

"SingleStack"

ipFamilies

List of IP families (e.g. IPv4, IPv6) assigned to the service. Default is IPv4 only. When utilizing an internal loadbalancer service (ie MetalLB), IPv6 would also need to be included in order for the ingress service to allocate an address in that family.

ipFamilies

TYPE:

string[] (Service IP Family)

CONSTRAINTS:

unique items: all items in this array must be unique. Duplicates are not allowed.

DEFAULTS:

The default value is:

[
  "IPv4"
]

allocateLoadBalancerNodePorts

When enabled node ports will be allocated for the Load Balancer Service.

This should be enabled when the cluster is fronted by a proxy load balancer regardless if it is external or internal, and disabled if the cluster uses direct routing of ingress traffic.

See reference

allocateLoadBalancerNodePorts

TYPE:

boolean (Load Balancer Node Ports)

loadBalancerIP

Configure the Load Balancer IP to use an existing IP if supported by the infrastructure provider.

Important

With OpenStack Octavia the floating IP can be created via the CLI beforehand, and one should set the annotation loadbalancer.openstack.org/keep-floatingip: "true" to prevent the floating IP to be deleted.

loadBalancerIP

TYPE:

string (Load Balancer IP)

loadBalancerSourceRanges

Configure the source ranges to allow via the Load Balancer Service.

loadBalancerSourceRanges

TYPE:

string[]

DEFAULTS:

The default value is:

[]

nodePorts

Configure the node ports to allocate for the Service.

nodePorts

TYPE:

object (Node Ports)

disabledCondition

Condition for when the Service is disabled.

disabledCondition

TYPE:

object (Ingress-NGINX Service Disabled)

enabledCondition

Condition for when the Service is enabled.

enabledCondition

TYPE:

object (Ingress-NGINX Service Enabled)

all of

clusterIpCondition

Condition for when the Service is using ClusterIP type.

clusterIpCondition

TYPE:

unknown (Ingress-NGINX Service ClusterIP Enabled)

loadBalancerCondition

Condition for when the Service is using LoadBalancer type.

loadBalancerCondition

TYPE:

unknown (Ingress-NGINX Service LoadBalancer Enabled)

nodePortCondition

Condition for when the Service is using NodePort type.

nodePortCondition

TYPE:

unknown (Ingress-NGINX Service NodePort Enabled)

Return to the root config schema


Generated Wed May 14 03:54:21 UTC 2025 from elastisys/compliantkubernetes-apps@main