questions: - variable: controller.kind type: enum options: - deployment - daemonset default: deployment description: "The kind of the Ingress controller installation - deployment or daemonset." label: Installation Kind group: "Settings" - variable: imageDefault default: true description: "Use default Docker image" label: Use Default Image type: boolean group: "Settings" show_subquestion_if: false subquestions: - variable: controller.nginxplus default: false description: "Deploys the Ingress controller for NGINX Plus." label: Deploy NGINX Plus type: boolean group: "NGINX Plus" - variable: controller.appprotect.enable default: false description: "Enable the App Protect module in the Ingress Controller." label: Enable the App Protect module. type: boolean - variable: controller.appprotectdos.enable default: false description: "Enable the App Protect DoS module in the Ingress Controller." label: Enable the App Protect DoS module. type: boolean - variable: controller.image.repository default: nginx/nginx-ingress description: "The image repository of the Ingress controller." type: string label: NGINX Ingress Controller Image Repository required: true - variable: controller.image.tag description: "The tag of the Ingress controller image." type: string label: NGINX Ingress Controller Image Tag required: true - variable: controller.image.pullPolicy type: enum options: - IfNotPresent - Always - Never default: IfNotPresent description: "The pull policy for the Ingress controller image." label: NGINX Ingress Controller Image Pull Policy - variable: controller.serviceAccount.imagePullSecretName default: "" description: "The name of the secret containing docker registry credentials. Secret must exist in the same namespace as the helm release." type: string label: Image Pull Secret Name - variable: controller.defaultTLS.secret default: "" description: "The secret with a TLS certificate and key for the default HTTPS server. The value must follow the following format: `/`." label: TLS Secret type: string group: "Settings" - variable: controller.ingressClass default: nginx description: "A class of the Ingress controller. The Ingress controller only processes Ingress resources that belong to its class - i.e. have the annotation `[kubernetes.io/ingress.class]` equal to the class. Additionally, the Ingress controller processes Ingress resources that do not have that annotation which can be disabled by setting the [-use-ingress-class-only] flag." label: Ingress Class type: string group: "Settings" required: true subquestions: - variable: controller.useIngressClassOnly default: false description: "Ignore Ingress resources without the `[kubernetes.io/ingress.class]` annotation." label: Use Ingress Class Only type: boolean group: "Settings" - variable: controller.enableCustomResources default: true label: Enable Custom Resources type: boolean group: "Settings" show_subquestion_if: true subquestions: - variable: controller.globalConfiguration.create default: true description: "Creates the GlobalConfiguration custom resource." label: Create GlobalConfiguration Custom Resource type: boolean group: "Settings" - variable: controller.enableOIDC default: false description: "Enables OIDC policies." label: Enable OIDC policies type: boolean group: "Settings" - variable: controller.enableCertManager default: false description: "Enables cert manager for Virtual Server resources." label: Enable cert manager for Virtual Server resources type: boolean group: "Settings" - variable: controller.enableExternalDNS default: false description: "Enables external-dns for Virtual Server resources." label: Enable external-dns for Virtual Server resources type: boolean group: "Settings" - variable: controller.watchNamespace default: "" description: "Comma-separated list of namespaces to watch for Ingress resources. By default the Ingress controller watches all namespaces." label: Watch Namespace type: string group: "Settings" - variable: controller.service.create default: true description: "Creates a service to expose the Ingress controller pods." label: Create a Service type: boolean group: "Service" show_subquestion_if: true subquestions: - variable: controller.service.type type: enum options: - LoadBalancer - NodePort default: LoadBalancer description: "The type of service to create for the Ingress controller." label: Type of Service - variable: controller.service.httpPort.enable default: true description: "Enables the HTTP port for the Ingress controller service." label: Enable HTTP Port type: boolean group: "Service" show_subquestion_if: true subquestions: - variable: controller.service.httpPort.port default: 80 description: "The HTTP port of the Ingress controller service." label: HTTP Port type: int required: true - variable: controller.service.httpsPort.enable default: true description: "Enables the HTTPS port for the Ingress controller service." label: Enable HTTPS Port type: boolean group: "Service" show_subquestion_if: true subquestions: - variable: controller.service.httpsPort.port default: 443 description: "The HTTPS port of the Ingress controller service." label: HTTPS Port type: int required: true - variable: prometheus.create default: false description: "Expose NGINX or NGINX Plus metrics in the Prometheus format." label: Enable Exposing Prometheus Metrics type: boolean group: "Prometheus" show_subquestion_if: true subquestions: - variable: prometheus.port default: 9113 description: "Configures the port to scrape the metrics." label: Prometheus Port type: int required: true - variable: prometheus.scheme default: http description: "Configures the HTTP scheme to use for connections to the Prometheus endpoint." label: Prometheus Scheme type: string required: true - variable: prometheus.secret default: "" description: "The namespace / name of a Kubernetes TLS Secret. If specified, this secret is used to secure the Prometheus endpoint with TLS connections." label: Prometheus Secret type: string