values_default.yaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464
  1. controller:
  2. ## The name of the Ingress Controller daemonset or deployment.
  3. name: controller
  4. ## The kind of the Ingress Controller installation - deployment or daemonset.
  5. kind: deployment
  6. ## Annotations for deployments and daemonsets
  7. annotations: {}
  8. ## Deploys the Ingress Controller for NGINX Plus.
  9. nginxplus: false
  10. # Timeout in milliseconds which the Ingress Controller will wait for a successful NGINX reload after a change or at the initial start.
  11. nginxReloadTimeout: 60000
  12. ## Support for App Protect WAF
  13. appprotect:
  14. ## Enable the App Protect WAF module in the Ingress Controller.
  15. enable: false
  16. ## Sets log level for App Protect WAF. Allowed values: fatal, error, warn, info, debug, trace
  17. # logLevel: fatal
  18. ## Support for App Protect DoS
  19. appprotectdos:
  20. ## Enable the App Protect DoS module in the Ingress Controller.
  21. enable: false
  22. ## Enable debugging for App Protect DoS.
  23. debug: false
  24. ## Max number of nginx processes to support.
  25. maxWorkers: 0
  26. ## Max number of ADMD instances.
  27. maxDaemons: 0
  28. ## RAM memory size to consume in MB.
  29. memory: 0
  30. ## Enables the Ingress Controller pods to use the host's network namespace.
  31. hostNetwork: false
  32. ## DNS policy for the Ingress Controller pods
  33. dnsPolicy: ClusterFirst
  34. ## Enables debugging for NGINX. Uses the nginx-debug binary. Requires error-log-level: debug in the ConfigMap via `controller.config.entries`.
  35. nginxDebug: false
  36. ## The log level of the Ingress Controller.
  37. logLevel: 1
  38. ## A list of custom ports to expose on the NGINX Ingress Controller pod. Follows the conventional Kubernetes yaml syntax for container ports.
  39. customPorts: [8140]
  40. image:
  41. ## The image repository of the Ingress Controller.
  42. repository: nginx/nginx-ingress
  43. ## The tag of the Ingress Controller image. If not specified the appVersion from Chart.yaml is used as a tag.
  44. # tag: "3.1.1"
  45. ## The digest of the Ingress Controller image.
  46. ## If digest is specified it has precedence over tag and will be used instead
  47. # digest: "sha256:CHANGEME"
  48. ## The pull policy for the Ingress Controller image.
  49. pullPolicy: IfNotPresent
  50. ## The lifecycle of the Ingress Controller pods.
  51. lifecycle: {}
  52. ## The custom ConfigMap to use instead of the one provided by default
  53. customConfigMap: ""
  54. config:
  55. ## The name of the ConfigMap used by the Ingress Controller.
  56. ## Autogenerated if not set or set to "".
  57. # name: nginx-config
  58. ## The annotations of the Ingress Controller configmap.
  59. annotations: {}
  60. ## The entries of the ConfigMap for customizing NGINX configuration.
  61. entries: {}
  62. ## It is recommended to use your own TLS certificates and keys
  63. defaultTLS:
  64. ## The base64-encoded TLS certificate for the default HTTPS server. By default, a pre-generated self-signed certificate is used.
  65. ## Note: It is recommended that you specify your own certificate. Alternatively, omitting the default server secret completely will configure NGINX to reject TLS connections to the default server.
  66. cert: ""
  67. ## The base64-encoded TLS key for the default HTTPS server. By default, a pre-generated key is used.
  68. ## Note: It is recommended that you specify your own key. Alternatively, omitting the default server secret completely will configure NGINX to reject TLS connections to the default server.
  69. key: ""
  70. ## The secret with a TLS certificate and key for the default HTTPS server.
  71. ## The value must follow the following format: `<namespace>/<name>`.
  72. ## Used as an alternative to specifying a certificate and key using `controller.defaultTLS.cert` and `controller.defaultTLS.key` parameters.
  73. ## Note: Alternatively, omitting the default server secret completely will configure NGINX to reject TLS connections to the default server.
  74. ## Format: <namespace>/<secret_name>
  75. secret: ""
  76. wildcardTLS:
  77. ## The base64-encoded TLS certificate for every Ingress/VirtualServer host that has TLS enabled but no secret specified.
  78. ## If the parameter is not set, for such Ingress/VirtualServer hosts NGINX will break any attempt to establish a TLS connection.
  79. cert: ""
  80. ## The base64-encoded TLS key for every Ingress/VirtualServer host that has TLS enabled but no secret specified.
  81. ## If the parameter is not set, for such Ingress/VirtualServer hosts NGINX will break any attempt to establish a TLS connection.
  82. key: ""
  83. ## The secret with a TLS certificate and key for every Ingress/VirtualServer host that has TLS enabled but no secret specified.
  84. ## The value must follow the following format: `<namespace>/<name>`.
  85. ## Used as an alternative to specifying a certificate and key using `controller.wildcardTLS.cert` and `controller.wildcardTLS.key` parameters.
  86. ## Format: <namespace>/<secret_name>
  87. secret: ""
  88. ## The node selector for pod assignment for the Ingress Controller pods.
  89. # nodeSelector: {}
  90. ## The termination grace period of the Ingress Controller pod.
  91. terminationGracePeriodSeconds: 30
  92. ## HorizontalPodAutoscaling (HPA)
  93. autoscaling:
  94. ## Enables HorizontalPodAutoscaling.
  95. enabled: false
  96. ## The annotations of the Ingress Controller HorizontalPodAutoscaler.
  97. annotations: {}
  98. ## Minimum number of replicas for the HPA.
  99. minReplicas: 1
  100. ## Maximum number of replicas for the HPA.
  101. maxReplicas: 3
  102. ## The target cpu utilization percentage.
  103. targetCPUUtilizationPercentage: 50
  104. ## The target memory utilization percentage.
  105. targetMemoryUtilizationPercentage: 50
  106. ## The resources of the Ingress Controller pods.
  107. resources:
  108. requests:
  109. cpu: 100m
  110. memory: 128Mi
  111. # limits:
  112. # cpu: 1
  113. # memory: 1Gi
  114. ## The tolerations of the Ingress Controller pods.
  115. tolerations: []
  116. ## The affinity of the Ingress Controller pods.
  117. affinity: {}
  118. ## The topology spread constraints of the Ingress controller pods.
  119. # topologySpreadConstraints: {}
  120. ## The additional environment variables to be set on the Ingress Controller pods.
  121. env: []
  122. # - name: MY_VAR
  123. # value: myvalue
  124. ## The volumes of the Ingress Controller pods.
  125. volumes: []
  126. # - name: extra-conf
  127. # configMap:
  128. # name: extra-conf
  129. ## The volumeMounts of the Ingress Controller pods.
  130. volumeMounts: []
  131. # - name: extra-conf
  132. # mountPath: /etc/nginx/conf.d/extra.conf
  133. # subPath: extra.conf
  134. ## InitContainers for the Ingress Controller pods.
  135. initContainers: []
  136. # - name: init-container
  137. # image: busybox:1.34
  138. # command: ['sh', '-c', 'echo this is initial setup!']
  139. ## The minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing, for it to be considered available.
  140. minReadySeconds: 0
  141. ## Pod disruption budget for the Ingress Controller pods.
  142. podDisruptionBudget:
  143. ## Enables PodDisruptionBudget.
  144. enabled: false
  145. ## The annotations of the Ingress Controller pod disruption budget.
  146. annotations: {}
  147. ## The number of Ingress Controller pods that should be available. This is a mutually exclusive setting with "maxUnavailable".
  148. # minAvailable: 1
  149. ## The number of Ingress Controller pods that can be unavailable. This is a mutually exclusive setting with "minAvailable".
  150. # maxUnavailable: 1
  151. ## Strategy used to replace old Pods by new ones. .spec.strategy.type can be "Recreate" or "RollingUpdate" for Deployments, and "OnDelete" or "RollingUpdate" for Daemonsets. "RollingUpdate" is the default value.
  152. strategy: {}
  153. ## Extra containers for the Ingress Controller pods.
  154. extraContainers: []
  155. # - name: container
  156. # image: busybox:1.34
  157. # command: ['sh', '-c', 'echo this is a sidecar!']
  158. ## The number of replicas of the Ingress Controller deployment.
  159. replicaCount: 1
  160. ## A class of the Ingress Controller.
  161. ## IngressClass resource with the name equal to the class must be deployed. Otherwise,
  162. ## the Ingress Controller will fail to start.
  163. ## The Ingress Controller only processes resources that belong to its class - i.e. have the "ingressClassName" field resource equal to the class.
  164. ## The Ingress Controller processes all the resources that do not have the "ingressClassName" field for all versions of kubernetes.
  165. ingressClass: nginx
  166. ## New Ingresses without an ingressClassName field specified will be assigned the class specified in `controller.ingressClass`.
  167. setAsDefaultIngress: false
  168. ## Comma separated list of namespaces to watch for Ingress resources. By default the Ingress Controller watches all namespaces. Mutually exclusive with "controller.watchNamespaceLabel".
  169. watchNamespace: ""
  170. ## Configures the Ingress Controller to watch only those namespaces with label foo=bar. By default the Ingress Controller watches all namespaces. Mutually exclusive with "controller.watchNamespace".
  171. watchNamespaceLabel: ""
  172. ## Comma separated list of namespaces to watch for Secret resources. By default the Ingress Controller watches all namespaces.
  173. watchSecretNamespace: ""
  174. ## Enable the custom resources.
  175. enableCustomResources: true
  176. ## Enable preview policies. This parameter is deprecated. To enable OIDC Policies please use controller.enableOIDC instead.
  177. enablePreviewPolicies: false
  178. ## Enable OIDC policies.
  179. enableOIDC: false
  180. ## Include year in log header. This parameter will be removed in release 2.7 and the year will be included by default.
  181. includeYear: false
  182. ## Enable TLS Passthrough on port 443. Requires controller.enableCustomResources.
  183. enableTLSPassthrough: false
  184. ## Enable cert manager for Virtual Server resources. Requires controller.enableCustomResources.
  185. enableCertManager: false
  186. ## Enable external DNS for Virtual Server resources. Requires controller.enableCustomResources.
  187. enableExternalDNS: false
  188. globalConfiguration:
  189. ## Creates the GlobalConfiguration custom resource. Requires controller.enableCustomResources.
  190. create: false
  191. ## The spec of the GlobalConfiguration for defining the global configuration parameters of the Ingress Controller.
  192. spec: {}
  193. # listeners:
  194. # - name: dns-udp
  195. # port: 5353
  196. # protocol: UDP
  197. # - name: dns-tcp
  198. # port: 5353
  199. # protocol: TCP
  200. ## Enable custom NGINX configuration snippets in Ingress, VirtualServer, VirtualServerRoute and TransportServer resources.
  201. enableSnippets: false
  202. ## Add a location based on the value of health-status-uri to the default server. The location responds with the 200 status code for any request.
  203. ## Useful for external health-checking of the Ingress Controller.
  204. healthStatus: false
  205. ## Sets the URI of health status location in the default server. Requires controller.healthStatus.
  206. healthStatusURI: "/nginx-health"
  207. nginxStatus:
  208. ## Enable the NGINX stub_status, or the NGINX Plus API.
  209. enable: true
  210. ## Set the port where the NGINX stub_status or the NGINX Plus API is exposed.
  211. port: 8080
  212. ## Add IPv4 IP/CIDR blocks to the allow list for NGINX stub_status or the NGINX Plus API. Separate multiple IP/CIDR by commas.
  213. allowCidrs: "127.0.0.1"
  214. service:
  215. ## Creates a service to expose the Ingress Controller pods.
  216. create: true
  217. ## The type of service to create for the Ingress Controller.
  218. type: LoadBalancer
  219. ## The externalTrafficPolicy of the service. The value Local preserves the client source IP.
  220. externalTrafficPolicy: Local
  221. ## The annotations of the Ingress Controller service.
  222. annotations: {}
  223. ## The extra labels of the service.
  224. extraLabels: {}
  225. ## The static IP address for the load balancer. Requires controller.service.type set to LoadBalancer. The cloud provider must support this feature.
  226. loadBalancerIP: ""
  227. ## The list of external IPs for the Ingress Controller service.
  228. externalIPs: []
  229. ## The IP ranges (CIDR) that are allowed to access the load balancer. Requires controller.service.type set to LoadBalancer. The cloud provider must support this feature.
  230. loadBalancerSourceRanges: []
  231. ## Whether to automatically allocate NodePorts (only for LoadBalancers).
  232. # allocateLoadBalancerNodePorts: false
  233. ## Dual stack preference.
  234. ## Valid values: SingleStack, PreferDualStack, RequireDualStack
  235. # ipFamilyPolicy: SingleStack
  236. ## List of IP families assigned to this service.
  237. ## Valid values: IPv4, IPv6
  238. # ipFamilies:
  239. # - IPv6
  240. httpPort:
  241. ## Enables the HTTP port for the Ingress Controller service.
  242. enable: true
  243. ## The HTTP port of the Ingress Controller service.
  244. port: 80
  245. ## The custom NodePort for the HTTP port. Requires controller.service.type set to NodePort.
  246. # nodePort: 80
  247. ## The HTTP port on the POD where the Ingress Controller service is running.
  248. targetPort: 80
  249. httpsPort:
  250. ## Enables the HTTPS port for the Ingress Controller service.
  251. enable: true
  252. ## The HTTPS port of the Ingress Controller service.
  253. port: 443
  254. ## The custom NodePort for the HTTPS port. Requires controller.service.type set to NodePort.
  255. # nodePort: 443
  256. ## The HTTPS port on the POD where the Ingress Controller service is running.
  257. targetPort: 443
  258. ## A list of custom ports to expose through the Ingress Controller service. Follows the conventional Kubernetes yaml syntax for service ports.
  259. customPorts: [8140]
  260. serviceAccount:
  261. ## The annotations of the service account of the Ingress Controller pods.
  262. annotations: {}
  263. ## The name of the service account of the Ingress Controller pods. Used for RBAC.
  264. ## Autogenerated if not set or set to "".
  265. # name: nginx-ingress
  266. ## The name of the secret containing docker registry credentials.
  267. ## Secret must exist in the same namespace as the helm release.
  268. imagePullSecretName: ""
  269. serviceMonitor:
  270. ## Creates a serviceMonitor to expose statistics on the kubernetes pods.
  271. create: false
  272. ## Kubernetes object labels to attach to the serviceMonitor object.
  273. labels: {}
  274. ## A set of labels to allow the selection of endpoints for the ServiceMonitor.
  275. selectorMatchLabels: {}
  276. ## A list of endpoints allowed as part of this ServiceMonitor.
  277. endpoints: []
  278. reportIngressStatus:
  279. ## Updates the address field in the status of Ingress resources with an external address of the Ingress Controller.
  280. ## You must also specify the source of the external address either through an external service via controller.reportIngressStatus.externalService,
  281. ## controller.reportIngressStatus.ingressLink or the external-status-address entry in the ConfigMap via controller.config.entries.
  282. ## Note: controller.config.entries.external-status-address takes precedence over the others.
  283. enable: true
  284. ## Specifies the name of the service with the type LoadBalancer through which the Ingress Controller is exposed externally.
  285. ## The external address of the service is used when reporting the status of Ingress, VirtualServer and VirtualServerRoute resources.
  286. ## controller.reportIngressStatus.enable must be set to true.
  287. ## The default is autogenerated and matches the created service (see controller.service.create).
  288. # externalService: nginx-ingress
  289. ## Specifies the name of the IngressLink resource, which exposes the Ingress Controller pods via a BIG-IP system.
  290. ## The IP of the BIG-IP system is used when reporting the status of Ingress, VirtualServer and VirtualServerRoute resources.
  291. ## controller.reportIngressStatus.enable must be set to true.
  292. ingressLink: ""
  293. ## Enable Leader election to avoid multiple replicas of the controller reporting the status of Ingress resources. controller.reportIngressStatus.enable must be set to true.
  294. enableLeaderElection: true
  295. ## Specifies the name of the ConfigMap, within the same namespace as the controller, used as the lock for leader election. controller.reportIngressStatus.enableLeaderElection must be set to true.
  296. ## Autogenerated if not set or set to "".
  297. # leaderElectionLockName: "nginx-ingress-leader-election"
  298. ## The annotations of the leader election configmap.
  299. annotations: {}
  300. pod:
  301. ## The annotations of the Ingress Controller pod.
  302. annotations: {}
  303. ## The additional extra labels of the Ingress Controller pod.
  304. extraLabels: {}
  305. ## The PriorityClass of the Ingress Controller pods.
  306. # priorityClassName: ""
  307. readyStatus:
  308. ## Enables readiness endpoint "/nginx-ready". The endpoint returns a success code when NGINX has loaded all the config after startup.
  309. enable: true
  310. ## Set the port where the readiness endpoint is exposed.
  311. port: 8081
  312. ## The number of seconds after the Ingress Controller pod has started before readiness probes are initiated.
  313. initialDelaySeconds: 0
  314. ## Enable collection of latency metrics for upstreams. Requires prometheus.create.
  315. enableLatencyMetrics: false
  316. ## Disable IPV6 listeners explicitly for nodes that do not support the IPV6 stack.
  317. disableIPV6: false
  318. ## Configure root filesystem as read-only and add volumes for temporary data.
  319. readOnlyRootFilesystem: false
  320. rbac:
  321. ## Configures RBAC.
  322. create: true
  323. prometheus:
  324. ## Expose NGINX or NGINX Plus metrics in the Prometheus format.
  325. create: true
  326. ## Configures the port to scrape the metrics.
  327. port: 9113
  328. ## Specifies the namespace/name of a Kubernetes TLS Secret which will be used to protect the Prometheus endpoint.
  329. secret: ""
  330. ## Configures the HTTP scheme used.
  331. scheme: http
  332. serviceInsight:
  333. ## Expose NGINX Plus Service Insight endpoint.
  334. create: false
  335. ## Configures the port to expose endpoint.
  336. port: 9114
  337. ## Specifies the namespace/name of a Kubernetes TLS Secret which will be used to protect the Service Insight endpoint.
  338. secret: ""
  339. ## Configures the HTTP scheme used.
  340. scheme: http
  341. nginxServiceMesh:
  342. ## Enables integration with NGINX Service Mesh.
  343. enable: false
  344. ## Enables NGINX Service Mesh workload to route egress traffic through the Ingress Controller.
  345. ## Requires nginxServiceMesh.enable
  346. enableEgress: false