kubernetes-ingress-nginx logo
NGINX Ingress Controller v0.0.10, Nov 30 22

kubernetes-ingress-nginx.IngressController

Explore with Pulumi AI

Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer

Create IngressController Resource

new IngressController(name: string, args?: IngressControllerArgs, opts?: CustomResourceOptions);
@overload
def IngressController(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      controller: Optional[ControllerArgs] = None,
                      default_backend: Optional[ControllerDefaultBackendArgs] = None,
                      dh_param: Optional[str] = None,
                      fullname_override: Optional[str] = None,
                      helm_options: Optional[ReleaseArgs] = None,
                      image_pull_secrets: Optional[Sequence[pulumi_kubernetes.core.v1.LocalObjectReferenceArgs]] = None,
                      name_override: Optional[str] = None,
                      pod_security_policy: Optional[ControllerPodSecurityPolicyArgs] = None,
                      rbac: Optional[ControllerRBACArgs] = None,
                      revision_history_limit: Optional[int] = None,
                      service_account: Optional[ControllerServiceAccountArgs] = None,
                      tcp: Optional[Mapping[str, Mapping[str, str]]] = None,
                      udp: Optional[Mapping[str, Mapping[str, str]]] = None)
@overload
def IngressController(resource_name: str,
                      args: Optional[IngressControllerArgs] = None,
                      opts: Optional[ResourceOptions] = None)
func NewIngressController(ctx *Context, name string, args *IngressControllerArgs, opts ...ResourceOption) (*IngressController, error)
public IngressController(string name, IngressControllerArgs? args = null, CustomResourceOptions? opts = null)
public IngressController(String name, IngressControllerArgs args)
public IngressController(String name, IngressControllerArgs args, CustomResourceOptions options)
type: kubernetes-ingress-nginx:IngressController
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args IngressControllerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args IngressControllerArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args IngressControllerArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args IngressControllerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args IngressControllerArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

IngressController Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The IngressController resource accepts the following input properties:

Controller Pulumi.KubernetesIngressNginx.Inputs.ControllerArgs
DefaultBackend Pulumi.KubernetesIngressNginx.Inputs.ControllerDefaultBackendArgs

Default 404 backend.

DhParam string

A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.

FullnameOverride string

Overrides for generated resource names.

HelmOptions Pulumi.KubernetesIngressNginx.Inputs.ReleaseArgs

HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.

ImagePullSecrets List<Pulumi.Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs>

Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.

NameOverride string

Overrides for generated resource names.

PodSecurityPolicy Pulumi.KubernetesIngressNginx.Inputs.ControllerPodSecurityPolicyArgs

If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/

Rbac Pulumi.KubernetesIngressNginx.Inputs.ControllerRBACArgs

Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266

RevisionHistoryLimit int

Rollback limit.

ServiceAccount Pulumi.KubernetesIngressNginx.Inputs.ControllerServiceAccountArgs
Tcp Dictionary<string, ImmutableDictionary<string, string>>

TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

Udp Dictionary<string, ImmutableDictionary<string, string>>

UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

Controller ControllerArgs
DefaultBackend ControllerDefaultBackendArgs

Default 404 backend.

DhParam string

A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.

FullnameOverride string

Overrides for generated resource names.

HelmOptions ReleaseArgs

HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.

ImagePullSecrets LocalObjectReferenceArgs

Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.

NameOverride string

Overrides for generated resource names.

PodSecurityPolicy ControllerPodSecurityPolicyArgs

If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/

Rbac ControllerRBACArgs

Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266

RevisionHistoryLimit int

Rollback limit.

ServiceAccount ControllerServiceAccountArgs
Tcp map[string]map[string]string

TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

Udp map[string]map[string]string

UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

controller ControllerArgs
defaultBackend ControllerDefaultBackendArgs

Default 404 backend.

dhParam String

A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.

fullnameOverride String

Overrides for generated resource names.

helmOptions ReleaseArgs

HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.

imagePullSecrets List<LocalObjectReferenceArgs>

Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.

nameOverride String

Overrides for generated resource names.

podSecurityPolicy ControllerPodSecurityPolicyArgs

If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/

rbac ControllerRBACArgs

Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266

revisionHistoryLimit Integer

Rollback limit.

serviceAccount ControllerServiceAccountArgs
tcp Map<String,Map<String,String>>

TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

udp Map<String,Map<String,String>>

UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

controller ControllerArgs
defaultBackend ControllerDefaultBackendArgs

Default 404 backend.

dhParam string

A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.

fullnameOverride string

Overrides for generated resource names.

helmOptions ReleaseArgs

HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.

imagePullSecrets pulumiKubernetestypesinputcorev1LocalObjectReference[]

Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.

nameOverride string

Overrides for generated resource names.

podSecurityPolicy ControllerPodSecurityPolicyArgs

If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/

rbac ControllerRBACArgs

Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266

revisionHistoryLimit number

Rollback limit.

serviceAccount ControllerServiceAccountArgs
tcp {[key: string]: {[key: string]: string}}

TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

udp {[key: string]: {[key: string]: string}}

UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

controller ControllerArgs
default_backend ControllerDefaultBackendArgs

Default 404 backend.

dh_param str

A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.

fullname_override str

Overrides for generated resource names.

helm_options ReleaseArgs

HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.

image_pull_secrets LocalObjectReferenceArgs]

Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.

name_override str

Overrides for generated resource names.

pod_security_policy ControllerPodSecurityPolicyArgs

If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/

rbac ControllerRBACArgs

Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266

revision_history_limit int

Rollback limit.

service_account ControllerServiceAccountArgs
tcp Mapping[str, Mapping[str, str]]

TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

udp Mapping[str, Mapping[str, str]]

UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

controller Property Map
defaultBackend Property Map

Default 404 backend.

dhParam String

A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.

fullnameOverride String

Overrides for generated resource names.

helmOptions Property Map

HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.

imagePullSecrets List<Property Map>

Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.

nameOverride String

Overrides for generated resource names.

podSecurityPolicy Property Map

If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/

rbac Property Map

Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266

revisionHistoryLimit Number

Rollback limit.

serviceAccount Property Map
tcp Map<Map<String>>

TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

udp Map<Map<String>>

UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

Outputs

All input properties are implicitly available as output properties. Additionally, the IngressController resource produces the following output properties:

Status Pulumi.KubernetesIngressNginx.Outputs.ReleaseStatus

Detailed information about the status of the underlying Helm deployment.

Status ReleaseStatus

Detailed information about the status of the underlying Helm deployment.

status ReleaseStatus

Detailed information about the status of the underlying Helm deployment.

status ReleaseStatus

Detailed information about the status of the underlying Helm deployment.

status ReleaseStatus

Detailed information about the status of the underlying Helm deployment.

status Property Map

Detailed information about the status of the underlying Helm deployment.

Supporting Types

Autoscaling

AutoscalingBehavior

AutoscalingBehaviorScaling

AutoscalingBehaviorScalingPolicy

PeriodSeconds int
Type string
Value int
PeriodSeconds int
Type string
Value int
periodSeconds Integer
type String
value Integer
periodSeconds number
type string
value number
periodSeconds Number
type String
value Number

AutoscalingTemplate

AutoscalingTemplatePods

AutoscalingTemplatePodsMetric

Name string
Name string
name String
name string
name str
name String

AutoscalingTemplatePodsTarget

AverageValue string
Type string
AverageValue string
Type string
averageValue String
type String
averageValue string
type string
averageValue String
type String

ContollerAdmissionWebhooks

annotations {[key: string]: {[key: string]: string}}
certificate string
createSecretJob ControllerAdmissionWebhooksCreateSecretJob
enabled boolean
existingPsp string

Use an existing PSP instead of creating one.

failurePolicy string
key string
namespaceSelector {[key: string]: {[key: string]: string}}
objectSelector {[key: string]: {[key: string]: string}}
patch ControllerAdmissionWebhooksPatch
patchWebhookJob ControllerAdmissionWebhooksPatchWebhbookJob
port number
service ControllerAdmissionWebhooksService
timeoutSeconds number
annotations Map<Map<String>>
certificate String
createSecretJob Property Map
enabled Boolean
existingPsp String

Use an existing PSP instead of creating one.

failurePolicy String
key String
namespaceSelector Map<Map<String>>
objectSelector Map<Map<String>>
patch Property Map
patchWebhookJob Property Map
port Number
service Property Map
timeoutSeconds Number

Controller

AddHeaders Dictionary<string, ImmutableDictionary<string, string>>

Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.

AdmissionWebhooks Pulumi.KubernetesIngressNginx.Inputs.ContollerAdmissionWebhooks
Affinity Pulumi.Kubernetes.Types.Inputs.Core.V1.Affinity

Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.

AllowSnippetAnnotations bool

This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.

Annotations Dictionary<string, string>

Annotations to be added to the controller Deployment or DaemonSet.

Autoscaling Pulumi.KubernetesIngressNginx.Inputs.Autoscaling

Mutually exclusive with keda autoscaling.

AutoscalingTemplate List<Pulumi.KubernetesIngressNginx.Inputs.AutoscalingTemplate>

Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics

Config Dictionary<string, ImmutableDictionary<string, string>>

Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.

ConfigAnnotations Dictionary<string, ImmutableDictionary<string, string>>

Annotations to be added to the controller config configuration configmap.

ConfigMapNamespace string

Allows customization of the configmap / nginx-configmap namespace.

ContainerName string

Configures the controller container name.

ContainerPort Pulumi.KubernetesIngressNginx.Inputs.ControllerPort

Configures the ports the nginx-controller listens on.

CustomTemplate Pulumi.KubernetesIngressNginx.Inputs.ControllerCustomTemplate

Override NGINX template.

DnsConfig Dictionary<string, ImmutableDictionary<string, string>>

Optionally customize the pod dnsConfig.

DnsPolicy string

Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.

ElectionID string

Election ID to use for status update.

EnableMimalloc bool

Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.

ExistingPsp string

Use an existing PSP instead of creating one.

ExtraArgs Dictionary<string, ImmutableDictionary<string, string>>

Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".

ExtraContainers List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Container>

Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.

ExtraEnvs List<Pulumi.Kubernetes.Types.Inputs.Core.V1.EnvVar>

Additional environment variables to set.

ExtraInitContainers List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Container>

Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']

ExtraVolumeMounts List<Pulumi.Kubernetes.Types.Inputs.Core.V1.VolumeMount>

Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

ExtraVolumes List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Volume>

Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}

HealthCheckPath string

Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.

HeathCheckHost string

Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.

HostNetwork bool

Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.

HostPort Pulumi.KubernetesIngressNginx.Inputs.ControllerHostPort

Use host ports 80 and 443. Disabled by default.

Hostname Dictionary<string, ImmutableDictionary<string, string>>

Optionally customize the pod hostname.

Image Pulumi.KubernetesIngressNginx.Inputs.ControllerImage
IngressClassByName bool

Process IngressClass per name (additionally as per spec.controller).

IngressClassResource Pulumi.KubernetesIngressNginx.Inputs.ControllerIngressClassResource

This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19

Keda Pulumi.KubernetesIngressNginx.Inputs.Keda

Mutually exclusive with hpa autoscaling.

Kind string

DaemonSet or Deployment.

Lifecycle Pulumi.Kubernetes.Types.Inputs.Core.V1.Lifecycle

Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s.

LivenessProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe

Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

MaxmindLicenseKey string

Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.

Metrics Pulumi.KubernetesIngressNginx.Inputs.ControllerMetrics
MinAvailable int
MinReadySeconds int

minReadySeconds to avoid killing pods before we are ready.

Name string
NodeSelector Dictionary<string, string>

Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

PodAnnotations Dictionary<string, string>

Annotations to be added to controller pods.

PodLabels Dictionary<string, ImmutableDictionary<string, string>>

labels to add to the pod container metadata.

PodSecurityContext Pulumi.Kubernetes.Types.Inputs.Core.V1.PodSecurityContext

Security Context policies for controller pods.

PriorityClassName string
ProxySetHeaders Dictionary<string, ImmutableDictionary<string, string>>

Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.

PublishService Pulumi.KubernetesIngressNginx.Inputs.ControllerPublishService

Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.

ReadinessProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe

Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

ReplicaCount int
ReportNodeInternalIp bool

Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.

Resources Pulumi.Kubernetes.Types.Inputs.Core.V1.ResourceRequirements

Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/

Scope Pulumi.KubernetesIngressNginx.Inputs.ControllerScope

Limit the scope of the controller.

Service Pulumi.KubernetesIngressNginx.Inputs.ControllerService
StartupProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe

Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

Sysctls Dictionary<string, ImmutableDictionary<string, string>>

See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

Tcp Pulumi.KubernetesIngressNginx.Inputs.ControllerTcp

Allows customization of the tcp-services-configmap.

TerminateGracePeriodSeconds int

How long to wait for the drain of connections.

Tolerations Pulumi.Kubernetes.Types.Inputs.Core.V1.Toleration

Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.

TopologySpreadConstraints List<Pulumi.Kubernetes.Types.Inputs.Core.V1.TopologySpreadConstraint>

Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.

Udp Pulumi.KubernetesIngressNginx.Inputs.ControllerUdp
UpdateStrategy Pulumi.KubernetesIngressNginx.Inputs.ControllerUpdateStrategy

The update strategy to apply to the Deployment or DaemonSet.

WatchIngressWithoutClass bool

Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.

AddHeaders map[string]map[string]string

Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.

AdmissionWebhooks ContollerAdmissionWebhooks
Affinity Affinity

Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.

AllowSnippetAnnotations bool

This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.

Annotations map[string]string

Annotations to be added to the controller Deployment or DaemonSet.

Autoscaling Autoscaling

Mutually exclusive with keda autoscaling.

AutoscalingTemplate []AutoscalingTemplate

Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics

Config map[string]map[string]string

Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.

ConfigAnnotations map[string]map[string]string

Annotations to be added to the controller config configuration configmap.

ConfigMapNamespace string

Allows customization of the configmap / nginx-configmap namespace.

ContainerName string

Configures the controller container name.

ContainerPort ControllerPort

Configures the ports the nginx-controller listens on.

CustomTemplate ControllerCustomTemplate

Override NGINX template.

DnsConfig map[string]map[string]string

Optionally customize the pod dnsConfig.

DnsPolicy string

Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.

ElectionID string

Election ID to use for status update.

EnableMimalloc bool

Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.

ExistingPsp string

Use an existing PSP instead of creating one.

ExtraArgs map[string]map[string]string

Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".

ExtraContainers Container

Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.

ExtraEnvs EnvVar

Additional environment variables to set.

ExtraInitContainers Container

Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']

ExtraVolumeMounts VolumeMount

Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

ExtraVolumes Volume

Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}

HealthCheckPath string

Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.

HeathCheckHost string

Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.

HostNetwork bool

Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.

HostPort ControllerHostPort

Use host ports 80 and 443. Disabled by default.

Hostname map[string]map[string]string

Optionally customize the pod hostname.

Image ControllerImage
IngressClassByName bool

Process IngressClass per name (additionally as per spec.controller).

IngressClassResource ControllerIngressClassResource

This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19

Keda Keda

Mutually exclusive with hpa autoscaling.

Kind string

DaemonSet or Deployment.

Lifecycle Lifecycle

Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s.

LivenessProbe Probe

Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

MaxmindLicenseKey string

Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.

Metrics ControllerMetrics
MinAvailable int
MinReadySeconds int

minReadySeconds to avoid killing pods before we are ready.

Name string
NodeSelector map[string]string

Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

PodAnnotations map[string]string

Annotations to be added to controller pods.

PodLabels map[string]map[string]string

labels to add to the pod container metadata.

PodSecurityContext PodSecurityContext

Security Context policies for controller pods.

PriorityClassName string
ProxySetHeaders map[string]map[string]string

Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.

PublishService ControllerPublishService

Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.

ReadinessProbe Probe

Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

ReplicaCount int
ReportNodeInternalIp bool

Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.

Resources ResourceRequirements

Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/

Scope ControllerScope

Limit the scope of the controller.

Service ControllerService
StartupProbe Probe

Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

Sysctls map[string]map[string]string

See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

Tcp ControllerTcp

Allows customization of the tcp-services-configmap.

TerminateGracePeriodSeconds int

How long to wait for the drain of connections.

Tolerations Toleration

Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.

TopologySpreadConstraints TopologySpreadConstraint

Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.

Udp ControllerUdp
UpdateStrategy ControllerUpdateStrategy

The update strategy to apply to the Deployment or DaemonSet.

WatchIngressWithoutClass bool

Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.

addHeaders Map<String,Map<String,String>>

Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.

admissionWebhooks ContollerAdmissionWebhooks
affinity Affinity

Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.

allowSnippetAnnotations Boolean

This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.

annotations Map<String,String>

Annotations to be added to the controller Deployment or DaemonSet.

autoscaling Autoscaling

Mutually exclusive with keda autoscaling.

autoscalingTemplate List<AutoscalingTemplate>

Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics

config Map<String,Map<String,String>>

Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.

configAnnotations Map<String,Map<String,String>>

Annotations to be added to the controller config configuration configmap.

configMapNamespace String

Allows customization of the configmap / nginx-configmap namespace.

containerName String

Configures the controller container name.

containerPort ControllerPort

Configures the ports the nginx-controller listens on.

customTemplate ControllerCustomTemplate

Override NGINX template.

dnsConfig Map<String,Map<String,String>>

Optionally customize the pod dnsConfig.

dnsPolicy String

Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.

electionID String

Election ID to use for status update.

enableMimalloc Boolean

Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.

existingPsp String

Use an existing PSP instead of creating one.

extraArgs Map<String,Map<String,String>>

Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".

extraContainers List<Container>

Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.

extraEnvs List<EnvVar>

Additional environment variables to set.

extraInitContainers List<Container>

Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']

extraVolumeMounts List<VolumeMount>

Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

extraVolumes List<Volume>

Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}

healthCheckPath String

Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.

heathCheckHost String

Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.

hostNetwork Boolean

Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.

hostPort ControllerHostPort

Use host ports 80 and 443. Disabled by default.

hostname Map<String,Map<String,String>>

Optionally customize the pod hostname.

image ControllerImage
ingressClassByName Boolean

Process IngressClass per name (additionally as per spec.controller).

ingressClassResource ControllerIngressClassResource

This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19

keda Keda

Mutually exclusive with hpa autoscaling.

kind String

DaemonSet or Deployment.

lifecycle Lifecycle

Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s.

livenessProbe Probe

Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

maxmindLicenseKey String

Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.

metrics ControllerMetrics
minAvailable Integer
minReadySeconds Integer

minReadySeconds to avoid killing pods before we are ready.

name String
nodeSelector Map<String,String>

Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

podAnnotations Map<String,String>

Annotations to be added to controller pods.

podLabels Map<String,Map<String,String>>

labels to add to the pod container metadata.

podSecurityContext PodSecurityContext

Security Context policies for controller pods.

priorityClassName String
proxySetHeaders Map<String,Map<String,String>>

Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.

publishService ControllerPublishService

Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.

readinessProbe Probe

Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

replicaCount Integer
reportNodeInternalIp Boolean

Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.

resources ResourceRequirements

Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/

scope ControllerScope

Limit the scope of the controller.

service ControllerService
startupProbe Probe

Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

sysctls Map<String,Map<String,String>>

See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

tcp ControllerTcp

Allows customization of the tcp-services-configmap.

terminateGracePeriodSeconds Integer

How long to wait for the drain of connections.

tolerations Toleration

Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.

topologySpreadConstraints List<TopologySpreadConstraint>

Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.

udp ControllerUdp
updateStrategy ControllerUpdateStrategy

The update strategy to apply to the Deployment or DaemonSet.

watchIngressWithoutClass Boolean

Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.

addHeaders {[key: string]: {[key: string]: string}}

Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.

admissionWebhooks ContollerAdmissionWebhooks
affinity pulumiKubernetestypesinputcorev1Affinity

Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.

allowSnippetAnnotations boolean

This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.

annotations {[key: string]: string}

Annotations to be added to the controller Deployment or DaemonSet.

autoscaling Autoscaling

Mutually exclusive with keda autoscaling.

autoscalingTemplate AutoscalingTemplate[]

Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics

config {[key: string]: {[key: string]: string}}

Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.

configAnnotations {[key: string]: {[key: string]: string}}

Annotations to be added to the controller config configuration configmap.

configMapNamespace string

Allows customization of the configmap / nginx-configmap namespace.

containerName string

Configures the controller container name.

containerPort ControllerPort

Configures the ports the nginx-controller listens on.

customTemplate ControllerCustomTemplate

Override NGINX template.

dnsConfig {[key: string]: {[key: string]: string}}

Optionally customize the pod dnsConfig.

dnsPolicy string

Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.

electionID string

Election ID to use for status update.

enableMimalloc boolean

Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.

existingPsp string

Use an existing PSP instead of creating one.

extraArgs {[key: string]: {[key: string]: string}}

Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".

extraContainers pulumiKubernetestypesinputcorev1Container[]

Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.

extraEnvs pulumiKubernetestypesinputcorev1EnvVar[]

Additional environment variables to set.

extraInitContainers pulumiKubernetestypesinputcorev1Container[]

Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']

extraVolumeMounts pulumiKubernetestypesinputcorev1VolumeMount[]

Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

extraVolumes pulumiKubernetestypesinputcorev1Volume[]

Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}

healthCheckPath string

Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.

heathCheckHost string

Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.

hostNetwork boolean

Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.

hostPort ControllerHostPort

Use host ports 80 and 443. Disabled by default.

hostname {[key: string]: {[key: string]: string}}

Optionally customize the pod hostname.

image ControllerImage
ingressClassByName boolean

Process IngressClass per name (additionally as per spec.controller).

ingressClassResource ControllerIngressClassResource

This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19

keda Keda

Mutually exclusive with hpa autoscaling.

kind string

DaemonSet or Deployment.

lifecycle pulumiKubernetestypesinputcorev1Lifecycle

Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s.

livenessProbe pulumiKubernetestypesinputcorev1Probe

Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

maxmindLicenseKey string

Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.

metrics ControllerMetrics
minAvailable number
minReadySeconds number

minReadySeconds to avoid killing pods before we are ready.

name string
nodeSelector {[key: string]: string}

Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

podAnnotations {[key: string]: string}

Annotations to be added to controller pods.

podLabels {[key: string]: {[key: string]: string}}

labels to add to the pod container metadata.

podSecurityContext pulumiKubernetestypesinputcorev1PodSecurityContext

Security Context policies for controller pods.

priorityClassName string
proxySetHeaders {[key: string]: {[key: string]: string}}

Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.

publishService ControllerPublishService

Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.

readinessProbe pulumiKubernetestypesinputcorev1Probe

Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

replicaCount number
reportNodeInternalIp boolean

Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.

resources pulumiKubernetestypesinputcorev1ResourceRequirements

Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/

scope ControllerScope

Limit the scope of the controller.

service ControllerService
startupProbe pulumiKubernetestypesinputcorev1Probe

Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

sysctls {[key: string]: {[key: string]: string}}

See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

tcp ControllerTcp

Allows customization of the tcp-services-configmap.

terminateGracePeriodSeconds number

How long to wait for the drain of connections.

tolerations pulumiKubernetestypesinputcorev1Toleration

Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.

topologySpreadConstraints pulumiKubernetestypesinputcorev1TopologySpreadConstraint[]

Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.

udp ControllerUdp
updateStrategy ControllerUpdateStrategy

The update strategy to apply to the Deployment or DaemonSet.

watchIngressWithoutClass boolean

Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.

add_headers Mapping[str, Mapping[str, str]]

Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.

admission_webhooks ContollerAdmissionWebhooks
affinity AffinityArgs

Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.

allow_snippet_annotations bool

This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.

annotations Mapping[str, str]

Annotations to be added to the controller Deployment or DaemonSet.

autoscaling Autoscaling

Mutually exclusive with keda autoscaling.

autoscaling_template Sequence[AutoscalingTemplate]

Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics

config Mapping[str, Mapping[str, str]]

Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.

config_annotations Mapping[str, Mapping[str, str]]

Annotations to be added to the controller config configuration configmap.

config_map_namespace str

Allows customization of the configmap / nginx-configmap namespace.

container_name str

Configures the controller container name.

container_port ControllerPort

Configures the ports the nginx-controller listens on.

custom_template ControllerCustomTemplate

Override NGINX template.

dns_config Mapping[str, Mapping[str, str]]

Optionally customize the pod dnsConfig.

dns_policy str

Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.

election_id str

Election ID to use for status update.

enable_mimalloc bool

Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.

existing_psp str

Use an existing PSP instead of creating one.

extra_args Mapping[str, Mapping[str, str]]

Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".

extra_containers ContainerArgs]

Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.

extra_envs EnvVarArgs]

Additional environment variables to set.

extra_init_containers ContainerArgs]

Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']

extra_volume_mounts VolumeMountArgs]

Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

extra_volumes VolumeArgs]

Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}

health_check_path str

Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.

heath_check_host str

Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.

host_network bool

Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.

host_port ControllerHostPort

Use host ports 80 and 443. Disabled by default.

hostname Mapping[str, Mapping[str, str]]

Optionally customize the pod hostname.

image ControllerImage
ingress_class_by_name bool

Process IngressClass per name (additionally as per spec.controller).

ingress_class_resource ControllerIngressClassResource

This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19

keda Keda

Mutually exclusive with hpa autoscaling.

kind str

DaemonSet or Deployment.

lifecycle LifecycleArgs

Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s.

liveness_probe ProbeArgs

Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

maxmind_license_key str

Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.

metrics ControllerMetrics
min_available int
min_ready_seconds int

minReadySeconds to avoid killing pods before we are ready.

name str
node_selector Mapping[str, str]

Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

pod_annotations Mapping[str, str]

Annotations to be added to controller pods.

pod_labels Mapping[str, Mapping[str, str]]

labels to add to the pod container metadata.

pod_security_context PodSecurityContextArgs

Security Context policies for controller pods.

priority_class_name str
proxy_set_headers Mapping[str, Mapping[str, str]]

Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.

publish_service ControllerPublishService

Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.

readiness_probe ProbeArgs

Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

replica_count int
report_node_internal_ip bool

Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.

resources ResourceRequirementsArgs

Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/

scope ControllerScope

Limit the scope of the controller.

service ControllerService
startup_probe ProbeArgs

Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

sysctls Mapping[str, Mapping[str, str]]

See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

tcp ControllerTcp

Allows customization of the tcp-services-configmap.

terminate_grace_period_seconds int

How long to wait for the drain of connections.

tolerations TolerationArgs

Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.

topology_spread_constraints TopologySpreadConstraintArgs]

Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.

udp ControllerUdp
update_strategy ControllerUpdateStrategy

The update strategy to apply to the Deployment or DaemonSet.

watch_ingress_without_class bool

Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.

addHeaders Map<Map<String>>

Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.

admissionWebhooks Property Map
affinity Property Map

Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.

allowSnippetAnnotations Boolean

This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.

annotations Map<String>

Annotations to be added to the controller Deployment or DaemonSet.

autoscaling Property Map

Mutually exclusive with keda autoscaling.

autoscalingTemplate List<Property Map>

Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics

config Map<Map<String>>

Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.

configAnnotations Map<Map<String>>

Annotations to be added to the controller config configuration configmap.

configMapNamespace String

Allows customization of the configmap / nginx-configmap namespace.

containerName String

Configures the controller container name.

containerPort Property Map

Configures the ports the nginx-controller listens on.

customTemplate Property Map

Override NGINX template.

dnsConfig Map<Map<String>>

Optionally customize the pod dnsConfig.

dnsPolicy String

Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.

electionID String

Election ID to use for status update.

enableMimalloc Boolean

Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.

existingPsp String

Use an existing PSP instead of creating one.

extraArgs Map<Map<String>>

Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".

extraContainers List<Property Map>

Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.

extraEnvs List<Property Map>

Additional environment variables to set.

extraInitContainers List<Property Map>

Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']

extraVolumeMounts List<Property Map>

Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

extraVolumes List<Property Map>

Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}

healthCheckPath String

Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.

heathCheckHost String

Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.

hostNetwork Boolean

Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.

hostPort Property Map

Use host ports 80 and 443. Disabled by default.

hostname Map<Map<String>>

Optionally customize the pod hostname.

image Property Map
ingressClassByName Boolean

Process IngressClass per name (additionally as per spec.controller).

ingressClassResource Property Map

This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19

keda Property Map

Mutually exclusive with hpa autoscaling.

kind String

DaemonSet or Deployment.

lifecycle Property Map

Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s.

livenessProbe Property Map

Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

maxmindLicenseKey String

Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.

metrics Property Map
minAvailable Number
minReadySeconds Number

minReadySeconds to avoid killing pods before we are ready.

name String
nodeSelector Map<String>

Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

podAnnotations Map<String>

Annotations to be added to controller pods.

podLabels Map<Map<String>>

labels to add to the pod container metadata.

podSecurityContext Property Map

Security Context policies for controller pods.

priorityClassName String
proxySetHeaders Map<Map<String>>

Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.

publishService Property Map

Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.

readinessProbe Property Map

Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

replicaCount Number
reportNodeInternalIp Boolean

Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.

resources Property Map

Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/

scope Property Map

Limit the scope of the controller.

service Property Map
startupProbe Property Map

Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

sysctls Map<Map<String>>

See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

tcp Property Map

Allows customization of the tcp-services-configmap.

terminateGracePeriodSeconds Number

How long to wait for the drain of connections.

tolerations Property Map

Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.

topologySpreadConstraints List<Property Map>

Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.

udp Property Map
updateStrategy Property Map

The update strategy to apply to the Deployment or DaemonSet.

watchIngressWithoutClass Boolean

Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.

ControllerAdmissionWebhooksCreateSecretJob

ControllerAdmissionWebhooksPatch

Enabled bool
Image Pulumi.KubernetesIngressNginx.Inputs.ControllerImage
NodeSelector Dictionary<string, string>
PodAnnotations Dictionary<string, ImmutableDictionary<string, string>>
PriorityClassName string

Provide a priority class name to the webhook patching job.

RunAsUser int
Tolerations List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Toleration>
Enabled bool
Image ControllerImage
NodeSelector map[string]string
PodAnnotations map[string]map[string]string
PriorityClassName string

Provide a priority class name to the webhook patching job.

RunAsUser int
Tolerations Toleration
enabled Boolean
image ControllerImage
nodeSelector Map<String,String>
podAnnotations Map<String,Map<String,String>>
priorityClassName String

Provide a priority class name to the webhook patching job.

runAsUser Integer
tolerations List<Toleration>
enabled boolean
image ControllerImage
nodeSelector {[key: string]: string}
podAnnotations {[key: string]: {[key: string]: string}}
priorityClassName string

Provide a priority class name to the webhook patching job.

runAsUser number
tolerations pulumiKubernetestypesinputcorev1Toleration[]
enabled bool
image ControllerImage
node_selector Mapping[str, str]
pod_annotations Mapping[str, Mapping[str, str]]
priority_class_name str

Provide a priority class name to the webhook patching job.

run_as_user int
tolerations TolerationArgs]
enabled Boolean
image Property Map
nodeSelector Map<String>
podAnnotations Map<Map<String>>
priorityClassName String

Provide a priority class name to the webhook patching job.

runAsUser Number
tolerations List<Property Map>

ControllerAdmissionWebhooksPatchWebhbookJob

ControllerAdmissionWebhooksService

Annotations Dictionary<string, ImmutableDictionary<string, string>>
ClusterIP string
ExternalIPs List<string>
LoadBalancerIPs string
LoadBalancerSourceRanges List<string>
ServicePort int
Type string
Annotations map[string]map[string]string
ClusterIP string
ExternalIPs []string
LoadBalancerIPs string
LoadBalancerSourceRanges []string
ServicePort int
Type string
annotations Map<String,Map<String,String>>
clusterIP String
externalIPs List<String>
loadBalancerIPs String
loadBalancerSourceRanges List<String>
servicePort Integer
type String
annotations {[key: string]: {[key: string]: string}}
clusterIP string
externalIPs string[]
loadBalancerIPs string
loadBalancerSourceRanges string[]
servicePort number
type string
annotations Mapping[str, Mapping[str, str]]
cluster_ip str
external_ips Sequence[str]
load_balancer_ips str
load_balancer_source_ranges Sequence[str]
service_port int
type str
annotations Map<Map<String>>
clusterIP String
externalIPs List<String>
loadBalancerIPs String
loadBalancerSourceRanges List<String>
servicePort Number
type String

ControllerCustomTemplate

ControllerDefaultBackend

Affinity Pulumi.Kubernetes.Types.Inputs.Core.V1.Affinity
Autoscaling Pulumi.KubernetesIngressNginx.Inputs.Autoscaling
Enabled bool
ExistingPsp string

Use an existing PSP instead of creating one.

ExtraArgs Dictionary<string, ImmutableDictionary<string, string>>
ExtraEnvs List<Pulumi.Kubernetes.Types.Inputs.Core.V1.EnvVar>
ExtraVolumeMounts List<Pulumi.Kubernetes.Types.Inputs.Core.V1.VolumeMount>

Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

ExtraVolumes List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Volume>

Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}

Image Pulumi.KubernetesIngressNginx.Inputs.ControllerImage
LivenessProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe

Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

MinAvailable int
Name string
NodeSelector Dictionary<string, string>

Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

PodAnnotations Dictionary<string, string>

Annotations to be added to default backend pods.

PodLabels Dictionary<string, string>

labels to add to the pod container metadata

PodSecurityContext Pulumi.Kubernetes.Types.Inputs.Core.V1.PodSecurityContext

Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

Port int
PriorityClassName string
ReadinessProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe

Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

ReplicaCount int
Resources Pulumi.Kubernetes.Types.Inputs.Core.V1.ResourceRequirements
Service Pulumi.KubernetesIngressNginx.Inputs.ControllerDefaultBackendService
ServiceAccount Pulumi.KubernetesIngressNginx.Inputs.ControllerServiceAccount
Tolerations List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Toleration>

Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Affinity Affinity
Autoscaling Autoscaling
Enabled bool
ExistingPsp string

Use an existing PSP instead of creating one.

ExtraArgs map[string]map[string]string
ExtraEnvs EnvVar
ExtraVolumeMounts VolumeMount

Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

ExtraVolumes Volume

Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}

Image ControllerImage
LivenessProbe Probe

Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

MinAvailable int
Name string
NodeSelector map[string]string

Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

PodAnnotations map[string]string

Annotations to be added to default backend pods.

PodLabels map[string]string

labels to add to the pod container metadata

PodSecurityContext PodSecurityContext

Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

Port int
PriorityClassName string
ReadinessProbe Probe

Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

ReplicaCount int
Resources ResourceRequirements
Service ControllerDefaultBackendService
ServiceAccount ControllerServiceAccount
Tolerations Toleration

Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

affinity Affinity
autoscaling Autoscaling
enabled Boolean
existingPsp String

Use an existing PSP instead of creating one.

extraArgs Map<String,Map<String,String>>
extraEnvs List<EnvVar>
extraVolumeMounts List<VolumeMount>

Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

extraVolumes List<Volume>

Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}

image ControllerImage
livenessProbe Probe

Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

minAvailable Integer
name String
nodeSelector Map<String,String>

Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

podAnnotations Map<String,String>

Annotations to be added to default backend pods.

podLabels Map<String,String>

labels to add to the pod container metadata

podSecurityContext PodSecurityContext

Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

port Integer
priorityClassName String
readinessProbe Probe

Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

replicaCount Integer
resources ResourceRequirements
service ControllerDefaultBackendService
serviceAccount ControllerServiceAccount
tolerations List<Toleration>

Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

affinity pulumiKubernetestypesinputcorev1Affinity
autoscaling Autoscaling
enabled boolean
existingPsp string

Use an existing PSP instead of creating one.

extraArgs {[key: string]: {[key: string]: string}}
extraEnvs pulumiKubernetestypesinputcorev1EnvVar[]
extraVolumeMounts pulumiKubernetestypesinputcorev1VolumeMount[]

Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

extraVolumes pulumiKubernetestypesinputcorev1Volume[]

Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}

image ControllerImage
livenessProbe pulumiKubernetestypesinputcorev1Probe

Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

minAvailable number
name string
nodeSelector {[key: string]: string}

Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

podAnnotations {[key: string]: string}

Annotations to be added to default backend pods.

podLabels {[key: string]: string}

labels to add to the pod container metadata

podSecurityContext pulumiKubernetestypesinputcorev1PodSecurityContext

Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

port number
priorityClassName string
readinessProbe pulumiKubernetestypesinputcorev1Probe

Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

replicaCount number
resources pulumiKubernetestypesinputcorev1ResourceRequirements
service ControllerDefaultBackendService
serviceAccount ControllerServiceAccount
tolerations pulumiKubernetestypesinputcorev1Toleration[]

Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

affinity AffinityArgs
autoscaling Autoscaling
enabled bool
existing_psp str

Use an existing PSP instead of creating one.

extra_args Mapping[str, Mapping[str, str]]
extra_envs EnvVarArgs]
extra_volume_mounts VolumeMountArgs]

Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

extra_volumes VolumeArgs]

Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}

image ControllerImage
liveness_probe ProbeArgs

Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

min_available int
name str
node_selector Mapping[str, str]

Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

pod_annotations Mapping[str, str]

Annotations to be added to default backend pods.

pod_labels Mapping[str, str]

labels to add to the pod container metadata

pod_security_context PodSecurityContextArgs

Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

port int
priority_class_name str
readiness_probe ProbeArgs

Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

replica_count int
resources ResourceRequirementsArgs
service ControllerDefaultBackendService
service_account ControllerServiceAccount
tolerations TolerationArgs]

Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

affinity Property Map
autoscaling Property Map
enabled Boolean
existingPsp String

Use an existing PSP instead of creating one.

extraArgs Map<Map<String>>
extraEnvs List<Property Map>
extraVolumeMounts List<Property Map>

Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins

extraVolumes List<Property Map>

Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}

image Property Map
livenessProbe Property Map

Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

minAvailable Number
name String
nodeSelector Map<String>

Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.

podAnnotations Map<String>

Annotations to be added to default backend pods.

podLabels Map<String>

labels to add to the pod container metadata

podSecurityContext Property Map

Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.

port Number
priorityClassName String
readinessProbe Property Map

Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes.

replicaCount Number
resources Property Map
service Property Map
serviceAccount Property Map
tolerations List<Property Map>

Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

ControllerDefaultBackendService

Annotations Dictionary<string, string>
ClusterIP string
ExternalIPs List<string>

List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

LoadBalancerIP string
LoadBalancerSourceRanges List<string>
ServicePort int
Type string
Annotations map[string]string
ClusterIP string
ExternalIPs []string

List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

LoadBalancerIP string
LoadBalancerSourceRanges []string
ServicePort int
Type string
annotations Map<String,String>
clusterIP String
externalIPs List<String>

List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

loadBalancerIP String
loadBalancerSourceRanges List<String>
servicePort Integer
type String
annotations {[key: string]: string}
clusterIP string
externalIPs string[]

List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

loadBalancerIP string
loadBalancerSourceRanges string[]
servicePort number
type string
annotations Mapping[str, str]
cluster_ip str
external_ips Sequence[str]

List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

load_balancer_ip str
load_balancer_source_ranges Sequence[str]
service_port int
type str
annotations Map<String>
clusterIP String
externalIPs List<String>

List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

loadBalancerIP String
loadBalancerSourceRanges List<String>
servicePort Number
type String

ControllerHostPort

ControllerHostPortPorts

Http int
Https int
Http int
Https int
http Integer
https Integer
http number
https number
http int
https int
http Number
https Number

ControllerImage

AllowPrivilegeEscalation bool
Digest string
Image string
PullPolicy string
ReadOnlyRootFilesystem bool
Registry string
Repository string

for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.

RunAsNonRoot bool
RunAsUser string
Tag string
AllowPrivilegeEscalation bool
Digest string
Image string
PullPolicy string
ReadOnlyRootFilesystem bool
Registry string
Repository string

for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.

RunAsNonRoot bool
RunAsUser string
Tag string
allowPrivilegeEscalation Boolean
digest String
image String
pullPolicy String
readOnlyRootFilesystem Boolean
registry String
repository String

for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.

runAsNonRoot Boolean
runAsUser String
tag String
allowPrivilegeEscalation boolean
digest string
image string
pullPolicy string
readOnlyRootFilesystem boolean
registry string
repository string

for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.

runAsNonRoot boolean
runAsUser string
tag string
allow_privilege_escalation bool
digest str
image str
pull_policy str
read_only_root_filesystem bool
registry str
repository str

for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.

run_as_non_root bool
run_as_user str
tag str
allowPrivilegeEscalation Boolean
digest String
image String
pullPolicy String
readOnlyRootFilesystem Boolean
registry String
repository String

for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.

runAsNonRoot Boolean
runAsUser String
tag String

ControllerIngressClassResource

ControllerValue string
Default bool
Enabled bool
Name string
Parameters Dictionary<string, ImmutableDictionary<string, string>>

Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.

ControllerValue string
Default bool
Enabled bool
Name string
Parameters map[string]map[string]string

Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.

controllerValue String
default_ Boolean
enabled Boolean
name String
parameters Map<String,Map<String,String>>

Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.

controllerValue string
default boolean
enabled boolean
name string
parameters {[key: string]: {[key: string]: string}}

Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.

controller_value str
default bool
enabled bool
name str
parameters Mapping[str, Mapping[str, str]]

Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.

controllerValue String
default Boolean
enabled Boolean
name String
parameters Map<Map<String>>

Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.

ControllerMetrics

enabled Boolean
port Integer

if this port is changed, change healthz-port: in extraArgs: accordingly.

prometheusRule ControllerMetricsPrometheusRules
service ControllerMetricsService
serviceMonitor ControllerMetricsServiceMonitor
enabled boolean
port number

if this port is changed, change healthz-port: in extraArgs: accordingly.

prometheusRule ControllerMetricsPrometheusRules
service ControllerMetricsService
serviceMonitor ControllerMetricsServiceMonitor
enabled Boolean
port Number

if this port is changed, change healthz-port: in extraArgs: accordingly.

prometheusRule Property Map
service Property Map
serviceMonitor Property Map

ControllerMetricsPrometheusRules

AdditionalLabels Dictionary<string, ImmutableDictionary<string, string>>
Enabled bool
Namespace string
Rules List<ImmutableDictionary<string, string>>
AdditionalLabels map[string]map[string]string
Enabled bool
Namespace string
Rules []map[string]string
additionalLabels Map<String,Map<String,String>>
enabled Boolean
namespace String
rules List<Map<String,String>>
additionalLabels {[key: string]: {[key: string]: string}}
enabled boolean
namespace string
rules {[key: string]: string}[]
additional_labels Mapping[str, Mapping[str, str]]
enabled bool
namespace str
rules Sequence[Mapping[str, str]]
additionalLabels Map<Map<String>>
enabled Boolean
namespace String
rules List<Map<String>>

ControllerMetricsService

Annotations Dictionary<string, string>
ClusterIP string
ExternalIPs List<string>
ExternalTrafficPolicy string
LoadBalancerIPs string
LoadBalancerSourceRanges List<string>
NodePort string
ServicePort int
Type string
annotations Map<String,String>
clusterIP String
externalIPs List<String>
externalTrafficPolicy String
loadBalancerIPs String
loadBalancerSourceRanges List<String>
nodePort String
servicePort Integer
type String
annotations {[key: string]: string}
clusterIP string
externalIPs string[]
externalTrafficPolicy string
loadBalancerIPs string
loadBalancerSourceRanges string[]
nodePort string
servicePort number
type string
annotations Map<String>
clusterIP String
externalIPs List<String>
externalTrafficPolicy String
loadBalancerIPs String
loadBalancerSourceRanges List<String>
nodePort String
servicePort Number
type String

ControllerMetricsServiceMonitor

AdditionalLabels Dictionary<string, ImmutableDictionary<string, string>>
Enabled bool
HonorLabels bool
JobLabel string

The label to use to retrieve the job name from.

MetricRelabelings List<string>
Namespace string
NamespaceSelector Dictionary<string, ImmutableDictionary<string, string>>
ScrapeInterval string
TargetLabels List<string>
AdditionalLabels map[string]map[string]string
Enabled bool
HonorLabels bool
JobLabel string

The label to use to retrieve the job name from.

MetricRelabelings []string
Namespace string
NamespaceSelector map[string]map[string]string
ScrapeInterval string
TargetLabels []string
additionalLabels Map<String,Map<String,String>>
enabled Boolean
honorLabels Boolean
jobLabel String

The label to use to retrieve the job name from.

metricRelabelings List<String>
namespace String
namespaceSelector Map<String,Map<String,String>>
scrapeInterval String
targetLabels List<String>
additionalLabels {[key: string]: {[key: string]: string}}
enabled boolean
honorLabels boolean
jobLabel string

The label to use to retrieve the job name from.

metricRelabelings string[]
namespace string
namespaceSelector {[key: string]: {[key: string]: string}}
scrapeInterval string
targetLabels string[]
additional_labels Mapping[str, Mapping[str, str]]
enabled bool
honor_labels bool
job_label str

The label to use to retrieve the job name from.

metric_relabelings Sequence[str]
namespace str
namespace_selector Mapping[str, Mapping[str, str]]
scrape_interval str
target_labels Sequence[str]
additionalLabels Map<Map<String>>
enabled Boolean
honorLabels Boolean
jobLabel String

The label to use to retrieve the job name from.

metricRelabelings List<String>
namespace String
namespaceSelector Map<Map<String>>
scrapeInterval String
targetLabels List<String>

ControllerPodSecurityPolicy

Enabled bool
Enabled bool
enabled Boolean
enabled boolean
enabled bool
enabled Boolean

ControllerPort

Http int
Https int
Http int
Https int
http Integer
https Integer
http number
https number
http int
https int
http Number
https Number

ControllerPublishService

Enabled bool
PathOverride string

Allows overriding of the publish service to bind to. Must be /<service_name>.

Enabled bool
PathOverride string

Allows overriding of the publish service to bind to. Must be /<service_name>.

enabled Boolean
pathOverride String

Allows overriding of the publish service to bind to. Must be /<service_name>.

enabled boolean
pathOverride string

Allows overriding of the publish service to bind to. Must be /<service_name>.

enabled bool
path_override str

Allows overriding of the publish service to bind to. Must be /<service_name>.

enabled Boolean
pathOverride String

Allows overriding of the publish service to bind to. Must be /<service_name>.

ControllerRBAC

Create bool
Scope bool
Create bool
Scope bool
create Boolean
scope Boolean
create boolean
scope boolean
create bool
scope bool
create Boolean
scope Boolean

ControllerRollingUpdate

ControllerScope

Enabled bool
Namespace string
Enabled bool
Namespace string
enabled Boolean
namespace String
enabled boolean
namespace string
enabled Boolean
namespace String

ControllerService

Annotations Dictionary<string, ImmutableDictionary<string, string>>
ClusterIP string
EnableHttp bool
EnableHttps bool
Enabled bool
ExternalIPs List<string>

List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

ExternalTrafficPolicy string

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

HealthCheckNodePort int

specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

Internal Pulumi.KubernetesIngressNginx.Inputs.ControllerServiceInternal

Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.

Labels Dictionary<string, ImmutableDictionary<string, string>>
LoadBalancerIPs string
LoadBalancerSourceRanges List<string>
NodePorts Pulumi.KubernetesIngressNginx.Inputs.ControllerServiceNodePorts
Ports Pulumi.KubernetesIngressNginx.Inputs.ControllerPort
SessionAffinity string

Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

TargetPorts Pulumi.KubernetesIngressNginx.Inputs.ControllerPort
Type string
Annotations map[string]map[string]string
ClusterIP string
EnableHttp bool
EnableHttps bool
Enabled bool
ExternalIPs []string

List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

ExternalTrafficPolicy string

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

HealthCheckNodePort int

specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

Internal ControllerServiceInternal

Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.

Labels map[string]map[string]string
LoadBalancerIPs string
LoadBalancerSourceRanges []string
NodePorts ControllerServiceNodePorts
Ports ControllerPort
SessionAffinity string

Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

TargetPorts ControllerPort
Type string
annotations Map<String,Map<String,String>>
clusterIP String
enableHttp Boolean
enableHttps Boolean
enabled Boolean
externalIPs List<String>

List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

externalTrafficPolicy String

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

healthCheckNodePort Integer

specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

internal ControllerServiceInternal

Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.

labels Map<String,Map<String,String>>
loadBalancerIPs String
loadBalancerSourceRanges List<String>
nodePorts ControllerServiceNodePorts
ports ControllerPort
sessionAffinity String

Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

targetPorts ControllerPort
type String
annotations {[key: string]: {[key: string]: string}}
clusterIP string
enableHttp boolean
enableHttps boolean
enabled boolean
externalIPs string[]

List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

externalTrafficPolicy string

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

healthCheckNodePort number

specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

internal ControllerServiceInternal

Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.

labels {[key: string]: {[key: string]: string}}
loadBalancerIPs string
loadBalancerSourceRanges string[]
nodePorts ControllerServiceNodePorts
ports ControllerPort
sessionAffinity string

Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

targetPorts ControllerPort
type string
annotations Mapping[str, Mapping[str, str]]
cluster_ip str
enable_http bool
enable_https bool
enabled bool
external_ips Sequence[str]

List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

external_traffic_policy str

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

health_check_node_port int

specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

internal ControllerServiceInternal

Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.

labels Mapping[str, Mapping[str, str]]
load_balancer_ips str
load_balancer_source_ranges Sequence[str]
node_ports ControllerServiceNodePorts
ports ControllerPort
session_affinity str

Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

target_ports ControllerPort
type str
annotations Map<Map<String>>
clusterIP String
enableHttp Boolean
enableHttps Boolean
enabled Boolean
externalIPs List<String>

List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

externalTrafficPolicy String

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

healthCheckNodePort Number

specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

internal Property Map

Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.

labels Map<Map<String>>
loadBalancerIPs String
loadBalancerSourceRanges List<String>
nodePorts Property Map
ports Property Map
sessionAffinity String

Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

targetPorts Property Map
type String

ControllerServiceAccount

ControllerServiceInternal

Annotations Dictionary<string, ImmutableDictionary<string, string>>
Enabled bool
ExternalTrafficPolicy string

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

Labels Dictionary<string, ImmutableDictionary<string, string>>
LoadBalancerIPs string
LoadBalancerSourceRanges List<string>

Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.

Annotations map[string]map[string]string
Enabled bool
ExternalTrafficPolicy string

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

Labels map[string]map[string]string
LoadBalancerIPs string
LoadBalancerSourceRanges []string

Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.

annotations Map<String,Map<String,String>>
enabled Boolean
externalTrafficPolicy String

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

labels Map<String,Map<String,String>>
loadBalancerIPs String
loadBalancerSourceRanges List<String>

Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.

annotations {[key: string]: {[key: string]: string}}
enabled boolean
externalTrafficPolicy string

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

labels {[key: string]: {[key: string]: string}}
loadBalancerIPs string
loadBalancerSourceRanges string[]

Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.

annotations Mapping[str, Mapping[str, str]]
enabled bool
external_traffic_policy str

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

labels Mapping[str, Mapping[str, str]]
load_balancer_ips str
load_balancer_source_ranges Sequence[str]

Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.

annotations Map<Map<String>>
enabled Boolean
externalTrafficPolicy String

Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer

labels Map<Map<String>>
loadBalancerIPs String
loadBalancerSourceRanges List<String>

Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.

ControllerServiceNodePorts

Http string
Https string
Tcp Dictionary<string, ImmutableDictionary<string, string>>
Udp Dictionary<string, ImmutableDictionary<string, string>>
Http string
Https string
Tcp map[string]map[string]string
Udp map[string]map[string]string
http String
https String
tcp Map<String,Map<String,String>>
udp Map<String,Map<String,String>>
http string
https string
tcp {[key: string]: {[key: string]: string}}
udp {[key: string]: {[key: string]: string}}
http str
https str
tcp Mapping[str, Mapping[str, str]]
udp Mapping[str, Mapping[str, str]]
http String
https String
tcp Map<Map<String>>
udp Map<Map<String>>

ControllerTcp

Annotations Dictionary<string, string>

Annotations to be added to the tcp config configmap.

ConfigMapNamespace string
Annotations map[string]string

Annotations to be added to the tcp config configmap.

ConfigMapNamespace string
annotations Map<String,String>

Annotations to be added to the tcp config configmap.

configMapNamespace String
annotations {[key: string]: string}

Annotations to be added to the tcp config configmap.

configMapNamespace string
annotations Mapping[str, str]

Annotations to be added to the tcp config configmap.

config_map_namespace str
annotations Map<String>

Annotations to be added to the tcp config configmap.

configMapNamespace String

ControllerUdp

Annotations Dictionary<string, string>

Annotations to be added to the udp config configmap.

ConfigMapNamespace string
Annotations map[string]string

Annotations to be added to the udp config configmap.

ConfigMapNamespace string
annotations Map<String,String>

Annotations to be added to the udp config configmap.

configMapNamespace String
annotations {[key: string]: string}

Annotations to be added to the udp config configmap.

configMapNamespace string
annotations Mapping[str, str]

Annotations to be added to the udp config configmap.

config_map_namespace str
annotations Map<String>

Annotations to be added to the udp config configmap.

configMapNamespace String

ControllerUpdateStrategy

Keda

ApiVersion string

apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.

Behavior AutoscalingBehavior
CooldownPeriod int
Enabled bool
MaxReplicas int
MinReplicas int
PollingInterval int
RestoreToOriginalReplicaCount bool
ScaledObject KedaScaledObject
Triggers []KedaTrigger
apiVersion String

apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.

behavior AutoscalingBehavior
cooldownPeriod Integer
enabled Boolean
maxReplicas Integer
minReplicas Integer
pollingInterval Integer
restoreToOriginalReplicaCount Boolean
scaledObject KedaScaledObject
triggers List<KedaTrigger>
apiVersion string

apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.

behavior AutoscalingBehavior
cooldownPeriod number
enabled boolean
maxReplicas number
minReplicas number
pollingInterval number
restoreToOriginalReplicaCount boolean
scaledObject KedaScaledObject
triggers KedaTrigger[]
apiVersion String

apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.

behavior Property Map
cooldownPeriod Number
enabled Boolean
maxReplicas Number
minReplicas Number
pollingInterval Number
restoreToOriginalReplicaCount Boolean
scaledObject Property Map
triggers List<Property Map>

KedaScaledObject

Annotations Dictionary<string, string>

Custom annotations for ScaledObject resource.

Annotations map[string]string

Custom annotations for ScaledObject resource.

annotations Map<String,String>

Custom annotations for ScaledObject resource.

annotations {[key: string]: string}

Custom annotations for ScaledObject resource.

annotations Mapping[str, str]

Custom annotations for ScaledObject resource.

annotations Map<String>

Custom annotations for ScaledObject resource.

KedaTrigger

Metadata Dictionary<string, ImmutableDictionary<string, string>>
Type string
Metadata map[string]map[string]string
Type string
metadata Map<String,Map<String,String>>
type String
metadata {[key: string]: {[key: string]: string}}
type string
metadata Mapping[str, Mapping[str, str]]
type str
metadata Map<Map<String>>
type String

Release

Atomic bool

If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.

Chart string

Chart name to be installed. A path may be used.

CleanupOnFail bool

Allow deletion of new resources created in this upgrade when upgrade fails.

CreateNamespace bool

Create the namespace if it does not exist.

DependencyUpdate bool

Run helm dependency update before installing the chart.

Description string

Add a custom description

Devel bool

Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.

DisableCRDHooks bool

Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook

DisableOpenapiValidation bool

If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema

DisableWebhooks bool

Prevent hooks from running.

ForceUpdate bool

Force resource update through delete/recreate if needed.

Keyring string

Location of public keys used for verification. Used only if verify is true

Lint bool

Run helm lint when planning.

Manifest Dictionary<string, object>

The rendered manifests as JSON. Not yet supported.

MaxHistory int

Limit the maximum number of revisions saved per release. Use 0 for no limit.

Name string

Release name.

Namespace string

Namespace to install the release into.

Postrender string

Postrender command to run.

RecreatePods bool

Perform pods restart during upgrade/rollback.

RenderSubchartNotes bool

If set, render subchart notes along with the parent.

Replace bool

Re-use the given name, even if that name is already used. This is unsafe in production

RepositoryOpts Pulumi.KubernetesIngressNginx.Inputs.RepositoryOpts

Specification defining the Helm chart repository to use.

ResetValues bool

When upgrading, reset the values to the ones built into the chart.

ResourceNames Dictionary<string, ImmutableArray<string>>

Names of resources created by the release grouped by "kind/version".

ReuseValues bool

When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored

SkipAwait bool

By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.

SkipCrds bool

If set, no CRDs will be installed. By default, CRDs are installed if not already present.

Timeout int

Time in seconds to wait for any individual kubernetes operation.

ValueYamlFiles List<AssetOrArchive>

List of assets (raw yaml files). Content is read and merged with values. Not yet supported.

Values Dictionary<string, object>

Custom values set for the release.

Verify bool

Verify the package before installing it.

Version string

Specify the exact chart version to install. If this is not specified, the latest version is installed.

WaitForJobs bool

Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.

Atomic bool

If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.

Chart string

Chart name to be installed. A path may be used.

CleanupOnFail bool

Allow deletion of new resources created in this upgrade when upgrade fails.

CreateNamespace bool

Create the namespace if it does not exist.

DependencyUpdate bool

Run helm dependency update before installing the chart.

Description string

Add a custom description

Devel bool

Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.

DisableCRDHooks bool

Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook

DisableOpenapiValidation bool

If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema

DisableWebhooks bool

Prevent hooks from running.

ForceUpdate bool

Force resource update through delete/recreate if needed.

Keyring string

Location of public keys used for verification. Used only if verify is true

Lint bool

Run helm lint when planning.

Manifest map[string]interface{}

The rendered manifests as JSON. Not yet supported.

MaxHistory int

Limit the maximum number of revisions saved per release. Use 0 for no limit.

Name string

Release name.

Namespace string

Namespace to install the release into.

Postrender string

Postrender command to run.

RecreatePods bool

Perform pods restart during upgrade/rollback.

RenderSubchartNotes bool

If set, render subchart notes along with the parent.

Replace bool

Re-use the given name, even if that name is already used. This is unsafe in production

RepositoryOpts RepositoryOpts

Specification defining the Helm chart repository to use.

ResetValues bool

When upgrading, reset the values to the ones built into the chart.

ResourceNames map[string][]string

Names of resources created by the release grouped by "kind/version".

ReuseValues bool

When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored

SkipAwait bool

By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.

SkipCrds bool

If set, no CRDs will be installed. By default, CRDs are installed if not already present.

Timeout int

Time in seconds to wait for any individual kubernetes operation.

ValueYamlFiles AssetOrArchive

List of assets (raw yaml files). Content is read and merged with values. Not yet supported.

Values map[string]interface{}

Custom values set for the release.

Verify bool

Verify the package before installing it.

Version string

Specify the exact chart version to install. If this is not specified, the latest version is installed.

WaitForJobs bool

Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.

atomic Boolean

If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.

chart String

Chart name to be installed. A path may be used.

cleanupOnFail Boolean

Allow deletion of new resources created in this upgrade when upgrade fails.

createNamespace Boolean

Create the namespace if it does not exist.

dependencyUpdate Boolean

Run helm dependency update before installing the chart.

description String

Add a custom description

devel Boolean

Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.

disableCRDHooks Boolean

Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook

disableOpenapiValidation Boolean

If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema

disableWebhooks Boolean

Prevent hooks from running.

forceUpdate Boolean

Force resource update through delete/recreate if needed.

keyring String

Location of public keys used for verification. Used only if verify is true

lint Boolean

Run helm lint when planning.

manifest Map<String,Object>

The rendered manifests as JSON. Not yet supported.

maxHistory Integer

Limit the maximum number of revisions saved per release. Use 0 for no limit.

name String

Release name.

namespace String

Namespace to install the release into.

postrender String

Postrender command to run.

recreatePods Boolean

Perform pods restart during upgrade/rollback.

renderSubchartNotes Boolean

If set, render subchart notes along with the parent.

replace Boolean

Re-use the given name, even if that name is already used. This is unsafe in production

repositoryOpts RepositoryOpts

Specification defining the Helm chart repository to use.

resetValues Boolean

When upgrading, reset the values to the ones built into the chart.

resourceNames Map<String,List<String>>

Names of resources created by the release grouped by "kind/version".

reuseValues Boolean

When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored

skipAwait Boolean

By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.

skipCrds Boolean

If set, no CRDs will be installed. By default, CRDs are installed if not already present.

timeout Integer

Time in seconds to wait for any individual kubernetes operation.

valueYamlFiles List<AssetOrArchive>

List of assets (raw yaml files). Content is read and merged with values. Not yet supported.

values Map<String,Object>

Custom values set for the release.

verify Boolean

Verify the package before installing it.

version String

Specify the exact chart version to install. If this is not specified, the latest version is installed.

waitForJobs Boolean

Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.

atomic boolean

If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.

chart string

Chart name to be installed. A path may be used.

cleanupOnFail boolean

Allow deletion of new resources created in this upgrade when upgrade fails.

createNamespace boolean

Create the namespace if it does not exist.

dependencyUpdate boolean

Run helm dependency update before installing the chart.

description string

Add a custom description

devel boolean

Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.

disableCRDHooks boolean

Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook

disableOpenapiValidation boolean

If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema

disableWebhooks boolean

Prevent hooks from running.

forceUpdate boolean

Force resource update through delete/recreate if needed.

keyring string

Location of public keys used for verification. Used only if verify is true

lint boolean

Run helm lint when planning.

manifest {[key: string]: any}

The rendered manifests as JSON. Not yet supported.

maxHistory number

Limit the maximum number of revisions saved per release. Use 0 for no limit.

name string

Release name.

namespace string

Namespace to install the release into.

postrender string

Postrender command to run.

recreatePods boolean

Perform pods restart during upgrade/rollback.

renderSubchartNotes boolean

If set, render subchart notes along with the parent.

replace boolean

Re-use the given name, even if that name is already used. This is unsafe in production

repositoryOpts RepositoryOpts

Specification defining the Helm chart repository to use.

resetValues boolean

When upgrading, reset the values to the ones built into the chart.

resourceNames {[key: string]: string[]}

Names of resources created by the release grouped by "kind/version".

reuseValues boolean

When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored

skipAwait boolean

By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.

skipCrds boolean

If set, no CRDs will be installed. By default, CRDs are installed if not already present.

timeout number

Time in seconds to wait for any individual kubernetes operation.

valueYamlFiles (pulumiassetAsset | pulumiassetArchive)[]

List of assets (raw yaml files). Content is read and merged with values. Not yet supported.

values {[key: string]: any}

Custom values set for the release.

verify boolean

Verify the package before installing it.

version string

Specify the exact chart version to install. If this is not specified, the latest version is installed.

waitForJobs boolean

Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.

atomic bool

If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.

chart str

Chart name to be installed. A path may be used.

cleanup_on_fail bool

Allow deletion of new resources created in this upgrade when upgrade fails.

create_namespace bool

Create the namespace if it does not exist.

dependency_update bool

Run helm dependency update before installing the chart.

description str

Add a custom description

devel bool

Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.

disable_crd_hooks bool

Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook

disable_openapi_validation bool

If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema

disable_webhooks bool

Prevent hooks from running.

force_update bool

Force resource update through delete/recreate if needed.

keyring str

Location of public keys used for verification. Used only if verify is true

lint bool

Run helm lint when planning.

manifest Mapping[str, Any]

The rendered manifests as JSON. Not yet supported.

max_history int

Limit the maximum number of revisions saved per release. Use 0 for no limit.

name str

Release name.

namespace str

Namespace to install the release into.

postrender str

Postrender command to run.

recreate_pods bool

Perform pods restart during upgrade/rollback.

render_subchart_notes bool

If set, render subchart notes along with the parent.

replace bool

Re-use the given name, even if that name is already used. This is unsafe in production

repository_opts RepositoryOpts

Specification defining the Helm chart repository to use.

reset_values bool

When upgrading, reset the values to the ones built into the chart.

resource_names Mapping[str, Sequence[str]]

Names of resources created by the release grouped by "kind/version".

reuse_values bool

When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored

skip_await bool

By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.

skip_crds bool

If set, no CRDs will be installed. By default, CRDs are installed if not already present.

timeout int

Time in seconds to wait for any individual kubernetes operation.

value_yaml_files Archive]]

List of assets (raw yaml files). Content is read and merged with values. Not yet supported.

values Mapping[str, Any]

Custom values set for the release.

verify bool

Verify the package before installing it.

version str

Specify the exact chart version to install. If this is not specified, the latest version is installed.

wait_for_jobs bool

Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.

atomic Boolean

If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.

chart String

Chart name to be installed. A path may be used.

cleanupOnFail Boolean

Allow deletion of new resources created in this upgrade when upgrade fails.

createNamespace Boolean

Create the namespace if it does not exist.

dependencyUpdate Boolean

Run helm dependency update before installing the chart.

description String

Add a custom description

devel Boolean

Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.

disableCRDHooks Boolean

Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook

disableOpenapiValidation Boolean

If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema

disableWebhooks Boolean

Prevent hooks from running.

forceUpdate Boolean

Force resource update through delete/recreate if needed.

keyring String

Location of public keys used for verification. Used only if verify is true

lint Boolean

Run helm lint when planning.

manifest Map<Any>

The rendered manifests as JSON. Not yet supported.

maxHistory Number

Limit the maximum number of revisions saved per release. Use 0 for no limit.

name String

Release name.

namespace String

Namespace to install the release into.

postrender String

Postrender command to run.

recreatePods Boolean

Perform pods restart during upgrade/rollback.

renderSubchartNotes Boolean

If set, render subchart notes along with the parent.

replace Boolean

Re-use the given name, even if that name is already used. This is unsafe in production

repositoryOpts Property Map

Specification defining the Helm chart repository to use.

resetValues Boolean

When upgrading, reset the values to the ones built into the chart.

resourceNames Map<List<String>>

Names of resources created by the release grouped by "kind/version".

reuseValues Boolean

When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored

skipAwait Boolean

By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.

skipCrds Boolean

If set, no CRDs will be installed. By default, CRDs are installed if not already present.

timeout Number

Time in seconds to wait for any individual kubernetes operation.

valueYamlFiles List<Asset>

List of assets (raw yaml files). Content is read and merged with values. Not yet supported.

values Map<Any>

Custom values set for the release.

verify Boolean

Verify the package before installing it.

version String

Specify the exact chart version to install. If this is not specified, the latest version is installed.

waitForJobs Boolean

Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.

ReleaseStatus

AppVersion string

The version number of the application being deployed.

Chart string

The name of the chart.

Name string

Name is the name of the release.

Namespace string

Namespace is the kubernetes namespace of the release.

Revision int

Version is an int32 which represents the version of the release.

Status string

Status of the release.

Version string

A SemVer 2 conformant version string of the chart.

AppVersion string

The version number of the application being deployed.

Chart string

The name of the chart.

Name string

Name is the name of the release.

Namespace string

Namespace is the kubernetes namespace of the release.

Revision int

Version is an int32 which represents the version of the release.

Status string

Status of the release.

Version string

A SemVer 2 conformant version string of the chart.

appVersion String

The version number of the application being deployed.

chart String

The name of the chart.

name String

Name is the name of the release.

namespace String

Namespace is the kubernetes namespace of the release.

revision Integer

Version is an int32 which represents the version of the release.

status String

Status of the release.

version String

A SemVer 2 conformant version string of the chart.

appVersion string

The version number of the application being deployed.

chart string

The name of the chart.

name string

Name is the name of the release.

namespace string

Namespace is the kubernetes namespace of the release.

revision number

Version is an int32 which represents the version of the release.

status string

Status of the release.

version string

A SemVer 2 conformant version string of the chart.

app_version str

The version number of the application being deployed.

chart str

The name of the chart.

name str

Name is the name of the release.

namespace str

Namespace is the kubernetes namespace of the release.

revision int

Version is an int32 which represents the version of the release.

status str

Status of the release.

version str

A SemVer 2 conformant version string of the chart.

appVersion String

The version number of the application being deployed.

chart String

The name of the chart.

name String

Name is the name of the release.

namespace String

Namespace is the kubernetes namespace of the release.

revision Number

Version is an int32 which represents the version of the release.

status String

Status of the release.

version String

A SemVer 2 conformant version string of the chart.

RepositoryOpts

CaFile string

The Repository's CA File

CertFile string

The repository's cert file

KeyFile string

The repository's cert key file

Password string

Password for HTTP basic authentication

Repo string

Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.

Username string

Username for HTTP basic authentication

CaFile string

The Repository's CA File

CertFile string

The repository's cert file

KeyFile string

The repository's cert key file

Password string

Password for HTTP basic authentication

Repo string

Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.

Username string

Username for HTTP basic authentication

caFile String

The Repository's CA File

certFile String

The repository's cert file

keyFile String

The repository's cert key file

password String

Password for HTTP basic authentication

repo String

Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.

username String

Username for HTTP basic authentication

caFile string

The Repository's CA File

certFile string

The repository's cert file

keyFile string

The repository's cert key file

password string

Password for HTTP basic authentication

repo string

Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.

username string

Username for HTTP basic authentication

ca_file str

The Repository's CA File

cert_file str

The repository's cert file

key_file str

The repository's cert key file

password str

Password for HTTP basic authentication

repo str

Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.

username str

Username for HTTP basic authentication

caFile String

The Repository's CA File

certFile String

The repository's cert file

keyFile String

The repository's cert key file

password String

Password for HTTP basic authentication

repo String

Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.

username String

Username for HTTP basic authentication

Package Details

Repository
NGINX Ingress Controller (Helm)
License