From acab9bcfa2d104c69c9f8d6669d5622c9516e231 Mon Sep 17 00:00:00 2001 From: Aecio dos Santos Pires Date: Sun, 24 Mar 2024 00:08:54 -0300 Subject: [PATCH 1/2] Fix bugs and many improvements --- charts/zabbix/Chart.yaml | 4 +- charts/zabbix/Makefile | 4 +- charts/zabbix/README.md | 103 +++++++------ charts/zabbix/README.md.gotmpl | 5 +- charts/zabbix/artifacthub-pkg.yml | 6 +- charts/zabbix/docs/requirements.md | 6 +- .../zabbix/templates/clusterrole-binding.yaml | 16 ++ charts/zabbix/templates/clusterrole.yaml | 54 +++++++ .../templates/daemonset-zabbix-agent.yaml | 25 ++-- .../daemonset-zabbix-java-gatway.yaml | 141 ------------------ .../deployment-zabbix-java-gateway.yaml | 141 ++++++++++++++++++ .../templates/deployment-zabbix-server.yaml | 8 +- .../templates/deployment-zabbix-web.yaml | 26 ++-- .../zabbix/templates/job-init-db-schema.yaml | 27 +++- charts/zabbix/templates/secret-db-access.yaml | 2 +- charts/zabbix/templates/service.yaml | 42 ++---- charts/zabbix/templates/serviceaccount.yaml | 1 - charts/zabbix/values.yaml | 121 ++++++++++----- 18 files changed, 430 insertions(+), 302 deletions(-) create mode 100644 charts/zabbix/templates/clusterrole-binding.yaml create mode 100644 charts/zabbix/templates/clusterrole.yaml delete mode 100644 charts/zabbix/templates/daemonset-zabbix-java-gatway.yaml create mode 100644 charts/zabbix/templates/deployment-zabbix-java-gateway.yaml diff --git a/charts/zabbix/Chart.yaml b/charts/zabbix/Chart.yaml index bd2bb49..27b2376 100644 --- a/charts/zabbix/Chart.yaml +++ b/charts/zabbix/Chart.yaml @@ -1,9 +1,9 @@ --- apiVersion: v2 # Don't change this name: zabbix -version: 4.2.2 # helm chart version +version: 4.3.0 # helm chart version # LTS Zabbix version by default due to stability. See: https://www.zabbix.com/life_cycle_and_release_policy -appVersion: 6.0.28 # zabbix version +appVersion: 6.0.27 # zabbix version description: Zabbix is a mature and effortless enterprise-class open source monitoring solution for network monitoring and application monitoring of millions of metrics. keywords: - zabbix diff --git a/charts/zabbix/Makefile b/charts/zabbix/Makefile index e37f5c8..9486037 100644 --- a/charts/zabbix/Makefile +++ b/charts/zabbix/Makefile @@ -5,8 +5,8 @@ #--------------------------- URL=https://github.com/zabbix-community/helm-zabbix/ -HELM_IMAGE=alpine/helm:3.14.0 -HELM_DOCS_IMAGE=jnorwood/helm-docs:v1.12.0 +HELM_IMAGE=alpine/helm:3.14.3 +HELM_DOCS_IMAGE=jnorwood/helm-docs:v1.13.1 KNOWN_TARGETS=helm #---------------------------------------------------------------------------------------------------------- diff --git a/charts/zabbix/README.md b/charts/zabbix/README.md index 8e06012..bd140f2 100644 --- a/charts/zabbix/README.md +++ b/charts/zabbix/README.md @@ -1,6 +1,7 @@ # Helm chart for Zabbix. -[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 4.2.2](https://img.shields.io/badge/Version-4.2.2-informational?style=flat-square) [![Download All Releases](https://img.shields.io/github/downloads/zabbix-community/helm-zabbix/total.svg)]() +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 4.3.0](https://img.shields.io/badge/Version-4.3.0-informational?style=flat-square) [![Downloads](https://img.shields.io/github/downloads/zabbix-community/helm-zabbix/total?label=Downloads%20All%20Releases +)](https://tooomm.github.io/github-release-stats/?username=zabbix-community&repository=helm-zabbix) Zabbix is a mature and effortless enterprise-class open source monitoring solution for network monitoring and application monitoring of millions of metrics. @@ -42,7 +43,7 @@ helm search repo zabbix-community/zabbix -l Set the helm chart version you want to use. Example: ```bash -export ZABBIX_CHART_VERSION='4.1.0' +export ZABBIX_CHART_VERSION='4.3.0' ``` Export default values of ``zabbix`` chart to ``$HOME/zabbix_values.yaml`` file: @@ -357,6 +358,8 @@ The following tables lists the configurable parameters of the chart and their de | postgresql.startupProbe | object | `{}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | postgresql.statefulSetAnnotations | object | `{}` | annotations to add to the statefulset | | postgresql.statefulSetLabels | object | `{}` | labels to add to the statefulset | +| rbac.additionalRulesForClusterRole | list | `[]` | | +| rbac.create | bool | `true` | Specifies whether the RBAC resources should be created | | route.annotations | object | `{}` | Openshift Route extra annotations | | route.enabled | bool | `false` | Enables Route object for Openshift | | route.hostName | string | `"chart-example.local"` | Host Name for the route. Can be left empty | @@ -391,7 +394,8 @@ The following tables lists the configurable parameters of the chart and their de | zabbixAgent.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | | zabbixAgent.image.repository | string | `"zabbix/zabbix-agent2"` | Zabbix Agent Docker image name. Can use zabbix/zabbix-agent or zabbix/zabbix-agent2 | | zabbixAgent.image.tag | string | `nil` | Zabbix Agent Docker image tag, if you want to override zabbixImageTag | -| zabbixAgent.livenessProbe | object | `{}` | The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| zabbixAgent.livenessProbe | object | `{"failureThreshold":3,"periodSeconds":10,"successThreshold":1,"tcpSocket":{"port":"zabbix-agent"},"timeoutSeconds":3}` | The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| zabbixAgent.livenessProbe.tcpSocket.port | string | `"zabbix-agent"` | Port number/alias name of the container | | zabbixAgent.readinessProbe | object | `{}` | The kubelet uses readiness probes to know when a container is ready to start accepting traffic. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | zabbixAgent.resources | object | `{}` | Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) | | zabbixAgent.runAsDaemonSet | bool | `false` | Enable this mode if you want to run zabbix-agent as daemonSet. The 'zabbixAgent.runAsSidecar' option must be false. | @@ -402,37 +406,41 @@ The following tables lists the configurable parameters of the chart and their de | zabbixAgent.service.listenOnAllInterfaces | bool | `true` | externalTrafficPolicy for Zabbix Agent service. "Local" to preserve sender's IP address. Please note that this might not work on multi-node clusters, depending on your network settings. externalTrafficPolicy: Local | | zabbixAgent.service.port | int | `10050` | Port to expose service | | zabbixAgent.service.type | string | `"ClusterIP"` | Type of service for Zabbix Agent | -| zabbixAgent.startupProbe | object | `{}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| zabbixAgent.startupProbe | object | `{"failureThreshold":5,"initialDelaySeconds":15,"periodSeconds":5,"successThreshold":1,"tcpSocket":{"port":"zabbix-agent"},"timeoutSeconds":3}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| zabbixAgent.startupProbe.tcpSocket.port | string | `"zabbix-agent"` | Port number/alias name of the container | | zabbixImageTag | string | `"ubuntu-6.0.20"` | Zabbix components (server, agent, web frontend, ...) image tag to use. This helm chart is compatible with non-LTS version of Zabbix, that include important changes and functionalities. But by default this helm chart will install the latest LTS version (example: 6.0.x). See more info in [Zabbix Life Cycle & Release Policy](https://www.zabbix.com/life_cycle_and_release_policy) page When you want use a non-LTS version (example: 6.2.x), you have to set this yourself. You can change version here or overwrite in each component (example: zabbixserver.image.tag, etc). | -| zabbixJavaGatway.ZBX_DEBUGLEVEL | int | `3` | The variable is used to specify debug level, from 0 to 5 | -| zabbixJavaGatway.ZBX_JAVAGATEWAY | string | `"zabbix-java-gateway"` | Additional arguments for Zabbix Java Gateway. Useful to enable additional libraries and features. ZABBIX_OPTIONS: Java Gatway Service Name | -| zabbixJavaGatway.ZBX_START_POLLERS | int | `5` | This variable is specified amount of pollers. By default, value is 5 | -| zabbixJavaGatway.ZBX_TIMEOUT | int | `3` | This variable is used to specify timeout for outgoing connections. By default, value is 3. | -| zabbixJavaGatway.containerAnnotations | object | `{}` | annotations to add to the containers | -| zabbixJavaGatway.containerLabels | object | `{}` | labels to add to the containers | -| zabbixJavaGatway.deploymentLabels | object | `{}` | labels to add to the deployment | -| zabbixJavaGatway.enabled | bool | `false` | Enables use of **Zabbix Java Gatway** | -| zabbixJavaGatway.extraContainers | list | `[]` | additional containers to start within the Zabbix Java Gatway pod | -| zabbixJavaGatway.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/agent2/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml | -| zabbixJavaGatway.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Java Gatway pod | -| zabbixJavaGatway.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Java Gatway pod | -| zabbixJavaGatway.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Java Gatway container | -| zabbixJavaGatway.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Java Gatway pod | -| zabbixJavaGatway.hostRootFsMount | bool | `true` | If true, agent pods mounts host / at /host/root | -| zabbixJavaGatway.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | -| zabbixJavaGatway.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | -| zabbixJavaGatway.image.repository | string | `"zabbix/zabbix-java-gateway"` | Zabbix Java Gatway Docker image name. Can use zabbix/zabbix-java-gateway | -| zabbixJavaGatway.image.tag | string | `nil` | Zabbix Java Gatway Docker image tag, if you want to override zabbixImageTag | -| zabbixJavaGatway.livenessProbe | object | `{}` | The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| zabbixJavaGatway.readinessProbe | object | `{}` | The kubelet uses readiness probes to know when a container is ready to start accepting traffic. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| zabbixJavaGatway.resources | object | `{}` | Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) | -| zabbixJavaGatway.securityContext | object | `{}` | Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | -| zabbixJavaGatway.service.annotations | object | `{}` | Annotations for the zabbix-agent service | -| zabbixJavaGatway.service.clusterIP | string | `nil` | Cluster IP for Zabbix Java Gatway | -| zabbixJavaGatway.service.listenOnAllInterfaces | bool | `true` | externalTrafficPolicy for Zabbix Java Gatway service. "Local" to preserve sender's IP address. Please note that this might not work on multi-node clusters, depending on your network settings. externalTrafficPolicy: Local | -| zabbixJavaGatway.service.port | int | `10052` | Port to expose service | -| zabbixJavaGatway.service.type | string | `"ClusterIP"` | Type of service for Zabbix Java Gatway | -| zabbixJavaGatway.startupProbe | object | `{}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| zabbixJavaGateway.ZBX_DEBUGLEVEL | int | `3` | The variable is used to specify debug level, from 0 to 5 | +| zabbixJavaGateway.ZBX_JAVAGATEWAY | string | `"zabbix-java-gateway"` | Additional arguments for Zabbix Java Gateway. Useful to enable additional libraries and features. ZABBIX_OPTIONS: Java Gateway Service Name | +| zabbixJavaGateway.ZBX_START_POLLERS | int | `5` | This variable is specified amount of pollers. By default, value is 5 | +| zabbixJavaGateway.ZBX_TIMEOUT | int | `3` | This variable is used to specify timeout for outgoing connections. By default, value is 3. | +| zabbixJavaGateway.containerAnnotations | object | `{}` | annotations to add to the containers | +| zabbixJavaGateway.containerLabels | object | `{}` | labels to add to the containers | +| zabbixJavaGateway.deploymentAnnotations | object | `{}` | annotations to add to the deployment | +| zabbixJavaGateway.deploymentLabels | object | `{}` | labels to add to the deployment | +| zabbixJavaGateway.enabled | bool | `false` | Enables use of **Zabbix Java Gateway** | +| zabbixJavaGateway.extraContainers | list | `[]` | additional containers to start within the Zabbix Java Gateway pod | +| zabbixJavaGateway.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/agent2/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml | +| zabbixJavaGateway.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Java Gateway pod | +| zabbixJavaGateway.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Java Gateway pod | +| zabbixJavaGateway.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Java Gateway container | +| zabbixJavaGateway.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Java Gateway pod | +| zabbixJavaGateway.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | +| zabbixJavaGateway.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | +| zabbixJavaGateway.image.repository | string | `"zabbix/zabbix-java-gateway"` | Zabbix Java Gateway Docker image name. | +| zabbixJavaGateway.image.tag | string | `nil` | Zabbix Java Gateway Docker image tag, if you want to override zabbixImageTag | +| zabbixJavaGateway.livenessProbe | object | `{"failureThreshold":3,"periodSeconds":10,"successThreshold":1,"tcpSocket":{"port":"zabbix-java-gw"},"timeoutSeconds":3}` | The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| zabbixJavaGateway.livenessProbe.tcpSocket.port | string | `"zabbix-java-gw"` | Port number/alias name of the container | +| zabbixJavaGateway.readinessProbe | object | `{}` | The kubelet uses readiness probes to know when a container is ready to start accepting traffic. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| zabbixJavaGateway.replicaCount | int | `1` | Number of replicas of ``Zabbix Java Gateway`` module | +| zabbixJavaGateway.resources | object | `{}` | Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) | +| zabbixJavaGateway.securityContext | object | `{}` | Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | +| zabbixJavaGateway.service.annotations | object | `{}` | Annotations for the zabbix-java-gateway service | +| zabbixJavaGateway.service.clusterIP | string | `nil` | Cluster IP for Zabbix Java Gateway | +| zabbixJavaGateway.service.listenOnAllInterfaces | bool | `true` | externalTrafficPolicy for Zabbix Java Gateway service. "Local" to preserve sender's IP address. Please note that this might not work on multi-node clusters, depending on your network settings. externalTrafficPolicy: Local | +| zabbixJavaGateway.service.port | int | `10052` | Port to expose service | +| zabbixJavaGateway.service.type | string | `"ClusterIP"` | Type of service for Zabbix Java Gateway | +| zabbixJavaGateway.startupProbe | object | `{"failureThreshold":5,"initialDelaySeconds":15,"periodSeconds":5,"successThreshold":1,"tcpSocket":{"port":"zabbix-java-gw"},"timeoutSeconds":3}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| zabbixJavaGateway.startupProbe.tcpSocket.port | string | `"zabbix-java-gw"` | Port number/alias name of the container | | zabbixProxy.ZBX_DEBUGLEVEL | int | `4` | | | zabbixProxy.ZBX_HOSTNAME | string | `"zabbix-proxy"` | Zabbix Proxy hostname Case sensitive hostname | | zabbixProxy.ZBX_JAVAGATEWAY_ENABLE | bool | `false` | The variable enable communication with Zabbix Java Gateway to collect Java related checks. By default, value is false. | @@ -501,6 +509,8 @@ The following tables lists the configurable parameters of the chart and their de | zabbixServer.jobDBSchema.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Server Job DB Schema pod | | zabbixServer.jobDBSchema.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Server Job DB Schema pod | | zabbixServer.jobDBSchema.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Server Job DB Schema pod | +| zabbixServer.jobDBSchema.jobAnnotations | object | `{}` | annotations to add to the jobs | +| zabbixServer.jobDBSchema.jobLabels | object | `{}` | labels to add to the jobs | | zabbixServer.jobDBSchema.securityContext | object | `{}` | Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | | zabbixServer.livenessProbe | object | `{}` | The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | zabbixServer.podAntiAffinity | bool | `true` | set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 | @@ -531,19 +541,21 @@ The following tables lists the configurable parameters of the chart and their de | zabbixWeb.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | | zabbixWeb.image.repository | string | `"zabbix/zabbix-web-nginx-pgsql"` | Zabbix Web Docker image name | | zabbixWeb.image.tag | string | `nil` | Zabbix Web Docker image tag, if you want to override zabbixImageTag | -| zabbixWeb.livenessProbe.failureThreshold | int | `6` | When a probe fails, Kubernetes will try failureThreshold times before giving up. Giving up in case of liveness probe means restarting the container. In case of readiness probe the Pod will be marked Unready | -| zabbixWeb.livenessProbe.initialDelaySeconds | int | `30` | Number of seconds after the container has started before liveness | -| zabbixWeb.livenessProbe.path | string | `"/"` | Path of health check of application | -| zabbixWeb.livenessProbe.periodSeconds | int | `10` | Specifies that the kubelet should perform a liveness probe every N seconds | -| zabbixWeb.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the probe to be considered successful after having failed | -| zabbixWeb.livenessProbe.timeoutSeconds | int | `5` | Number of seconds after which the probe times out | +| zabbixWeb.livenessProbe.failureThreshold | int | `6` | | +| zabbixWeb.livenessProbe.httpGet.path | string | `"/"` | Path of health check of application | +| zabbixWeb.livenessProbe.httpGet.port | string | `"zabbix-web"` | Port number/alias name of the container | +| zabbixWeb.livenessProbe.initialDelaySeconds | int | `30` | | +| zabbixWeb.livenessProbe.periodSeconds | int | `10` | | +| zabbixWeb.livenessProbe.successThreshold | int | `1` | | +| zabbixWeb.livenessProbe.timeoutSeconds | int | `5` | | | zabbixWeb.podAntiAffinity | bool | `true` | set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 | -| zabbixWeb.readinessProbe.failureThreshold | int | `6` | When a probe fails, Kubernetes will try failureThreshold times before giving up. Giving up in case of liveness probe means restarting the container. In case of readiness probe the Pod will be marked Unready | -| zabbixWeb.readinessProbe.initialDelaySeconds | int | `5` | Number of seconds after the container has started before readiness | -| zabbixWeb.readinessProbe.path | string | `"/"` | Path of health check of application | -| zabbixWeb.readinessProbe.periodSeconds | int | `10` | Specifies that the kubelet should perform a readiness probe every N seconds | -| zabbixWeb.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the probe to be considered successful after having failed | -| zabbixWeb.readinessProbe.timeoutSeconds | int | `5` | Number of seconds after which the probe times out | +| zabbixWeb.readinessProbe.failureThreshold | int | `6` | | +| zabbixWeb.readinessProbe.httpGet.path | string | `"/"` | Path of health check of application | +| zabbixWeb.readinessProbe.httpGet.port | string | `"zabbix-web"` | Port number/alias name of the container | +| zabbixWeb.readinessProbe.initialDelaySeconds | int | `5` | | +| zabbixWeb.readinessProbe.periodSeconds | int | `10` | | +| zabbixWeb.readinessProbe.successThreshold | int | `1` | | +| zabbixWeb.readinessProbe.timeoutSeconds | int | `5` | | | zabbixWeb.replicaCount | int | `1` | Number of replicas of ``zabbixWeb`` module | | zabbixWeb.resources | object | `{}` | Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) | | zabbixWeb.securityContext | object | `{}` | Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | @@ -553,6 +565,7 @@ The following tables lists the configurable parameters of the chart and their de | zabbixWeb.service.externalIPs | list | `[]` | IPs if use service type LoadBalancer" | | zabbixWeb.service.port | int | `80` | Port to expose service | | zabbixWeb.service.type | string | `"ClusterIP"` | Type of service for Zabbix Web | +| zabbixWeb.startupProbe | object | `{}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | zabbixWebService.containerAnnotations | object | `{}` | annotations to add to the containers | | zabbixWebService.containerLabels | object | `{}` | labels to add to the containers | | zabbixWebService.deploymentAnnotations | object | `{}` | annotations to add to the deployment | diff --git a/charts/zabbix/README.md.gotmpl b/charts/zabbix/README.md.gotmpl index 02c8199..30ecfb1 100644 --- a/charts/zabbix/README.md.gotmpl +++ b/charts/zabbix/README.md.gotmpl @@ -1,6 +1,7 @@ # Helm chart for Zabbix. -[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) {{ template "chart.versionBadge" . }} [![Download All Releases](https://img.shields.io/github/downloads/zabbix-community/helm-zabbix/total.svg)]() +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) {{ template "chart.versionBadge" . }} [![Downloads](https://img.shields.io/github/downloads/zabbix-community/helm-zabbix/total?label=Downloads%20All%20Releases +)](https://tooomm.github.io/github-release-stats/?username=zabbix-community&repository=helm-zabbix) {{ template "chart.description" . }} @@ -43,7 +44,7 @@ helm search repo zabbix-community/zabbix -l Set the helm chart version you want to use. Example: ```bash -export ZABBIX_CHART_VERSION='4.1.0' +export ZABBIX_CHART_VERSION='4.3.0' ``` Export default values of ``zabbix`` chart to ``$HOME/zabbix_values.yaml`` file: diff --git a/charts/zabbix/artifacthub-pkg.yml b/charts/zabbix/artifacthub-pkg.yml index 8518af2..2eddec3 100644 --- a/charts/zabbix/artifacthub-pkg.yml +++ b/charts/zabbix/artifacthub-pkg.yml @@ -5,13 +5,13 @@ # https://github.com/kedacore/external-scalers/blob/main/artifacthub/azure-cosmos-db/0.1.0/artifacthub-pkg.yml # https://artifacthub.io/packages/keda-scaler/keda-official-external-scalers/external-scaler-azure-cosmos-db?modal=install -version: 4.2.2 # helm chart version +version: 4.3.0 # helm chart version # LTS Zabbix version by default due to stability. See: https://www.zabbix.com/life_cycle_and_release_policy appVersion: 6.0.27 # zabbix version name: zabbix category: monitoring, networking, metrics displayName: Zabbix - The Enterprise-Class Open Source Network Monitoring Solution -createdAt: 2023-08-06T23:46:30Z # Command Linux: date +%Y-%m-%dT%TZ +createdAt: 2024-03-23T20:38:35Z # Command Linux: date +%Y-%m-%dT%TZ description: Zabbix is a mature and effortless enterprise-class open source monitoring solution for network monitoring and application monitoring of millions of metrics. logoURL: https://assets.zabbix.com/img/logo/zabbix_logo_500x131.png license: Apache-2.0 @@ -53,7 +53,7 @@ install: | Set the helm chart version you want to use. Example: ```bash - export ZABBIX_CHART_VERSION='4.1.0' + export ZABBIX_CHART_VERSION='4.3.0' ``` Export default values of ``zabbix`` chart to ``$HOME/zabbix_values.yaml`` file: diff --git a/charts/zabbix/docs/requirements.md b/charts/zabbix/docs/requirements.md index e78b0ae..a9478ad 100644 --- a/charts/zabbix/docs/requirements.md +++ b/charts/zabbix/docs/requirements.md @@ -57,7 +57,7 @@ Simple shell function for Kubectl installation in Linux 64 bits. Copy and paste ```bash sudo su -VERSION=v1.29.1 +VERSION=v1.29.3 KUBECTL_BIN=kubectl function install_kubectl { @@ -94,7 +94,7 @@ https://github.com/peelmicro/learn-devops-the-complete-kubernetes-course Run the following commands to install ``helm-docs``. ```bash -HELM_DOCS_VERSION=1.12.0 +HELM_DOCS_VERSION=1.13.1 HELM_DOCS_PACKAGE=helm-docs_``$HELM_DOCS_VERSION``_Linux_x86_64.tar.gz cd /tmp @@ -121,7 +121,7 @@ Execute these commands to install helm. ```bash sudo su -HELM_TAR_FILE=helm-v3.14.0-linux-amd64.tar.gz +HELM_TAR_FILE=helm-v3.14.3-linux-amd64.tar.gz HELM_URL=https://get.helm.sh HELM_BIN=helm3 diff --git a/charts/zabbix/templates/clusterrole-binding.yaml b/charts/zabbix/templates/clusterrole-binding.yaml new file mode 100644 index 0000000..d0bedb3 --- /dev/null +++ b/charts/zabbix/templates/clusterrole-binding.yaml @@ -0,0 +1,16 @@ +{{- if .Values.rbac.create -}} +# Copied and adapted from: +# https://git.zabbix.com/projects/ZT/repos/kubernetes-helm/browse/templates/clusterrole-binding.yaml +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "zabbix.fullname" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "zabbix.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ template "zabbix.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} \ No newline at end of file diff --git a/charts/zabbix/templates/clusterrole.yaml b/charts/zabbix/templates/clusterrole.yaml new file mode 100644 index 0000000..5bac211 --- /dev/null +++ b/charts/zabbix/templates/clusterrole.yaml @@ -0,0 +1,54 @@ +{{- if .Values.rbac.create }} +# Copied and adapted from: +# https://git.zabbix.com/projects/ZT/repos/kubernetes-helm/browse/templates/cluster-role.yaml +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ template "zabbix.fullname" . }} + labels: + {{- include "zabbix.labels" . | nindent 4 }} +rules: + - nonResourceURLs: + - "/metrics" + - "/metrics/cadvisor" + - "/version" + - "/healthz" + - "/readyz" + verbs: ["get"] + - apiGroups: [""] + resources: + - nodes/metrics + - nodes/spec + - nodes/proxy + - nodes/stats + verbs: ["get"] + - apiGroups: [""] + resources: + - namespaces + - pods + - services + - componentstatuses + - nodes + - endpoints + - events + verbs: ["get", "list"] + - apiGroups: ["batch"] + resources: + - jobs + - cronjobs + verbs: ["get", "list"] + - apiGroups: ["extensions"] + resources: + - deployments + - daemonsets + verbs: ["get", "list"] + - apiGroups: ["apps"] + resources: + - statefulsets + - deployments + - daemonsets + verbs: ["get", "list"] +{{- if .Values.rbac.additionalRulesForClusterRole }} +{{ toYaml .Values.rbac.additionalRulesForClusterRole | indent 0 }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/zabbix/templates/daemonset-zabbix-agent.yaml b/charts/zabbix/templates/daemonset-zabbix-agent.yaml index f70d76e..a86669a 100644 --- a/charts/zabbix/templates/daemonset-zabbix-agent.yaml +++ b/charts/zabbix/templates/daemonset-zabbix-agent.yaml @@ -75,21 +75,18 @@ spec: - name: zabbix-agent containerPort: 10050 protocol: TCP - startupProbe: - tcpSocket: - port: zabbix-agent - initialDelaySeconds: 15 - periodSeconds: 5 - timeoutSeconds: 3 - failureThreshold: 5 - successThreshold: 1 + {{- with .Values.zabbixAgent.livenessProbe }} livenessProbe: - tcpSocket: - port: zabbix-agent - timeoutSeconds: 3 - failureThreshold: 3 - periodSeconds: 10 - successThreshold: 1 + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.zabbixAgent.readinessProbe }} + readinessProbe: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.zabbixAgent.startupProbe }} + startupProbe: + {{- toYaml . | nindent 12 }} + {{- end }} securityContext: {{- toYaml .Values.zabbixAgent.securityContext | nindent 12 }} env: diff --git a/charts/zabbix/templates/daemonset-zabbix-java-gatway.yaml b/charts/zabbix/templates/daemonset-zabbix-java-gatway.yaml deleted file mode 100644 index c4925ed..0000000 --- a/charts/zabbix/templates/daemonset-zabbix-java-gatway.yaml +++ /dev/null @@ -1,141 +0,0 @@ -{{- if .Values.zabbixJavaGatway.enabled }} -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - labels: - app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - app.kubernetes.io/name: {{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - helm.sh/chart: {{ include "zabbix.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - app.kubernetes.io/managed-by: {{ .Release.Service }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - {{- if .Values.zabbixJavaGatway.deploymentLabels }} - {{- toYaml .Values.zabbixJavaGatway.deploymentLabels | nindent 4 }} - {{- end }} - annotations: - {{- range $key,$value := .Values.zabbixJavaGatway.deploymentAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} -spec: - replicas: {{ .Values.zabbixJavaGatway.replicaCount }} - selector: - matchLabels: - app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - template: - metadata: - annotations: - {{- range $key,$value := .Values.zabbixJavaGatway.containerAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - labels: - app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - app.kubernetes.io/name: {{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - helm.sh/chart: {{ include "zabbix.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - app.kubernetes.io/managed-by: {{ .Release.Service }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - {{- if .Values.zabbixJavaGatway.containerLabels }} - {{- toYaml .Values.zabbixJavaGatway.containerLabels | nindent 8 }} - {{- end }} - spec: - serviceAccountName: {{ template "zabbix.serviceAccountName" . }} - {{- with .Values.zabbixJavaGatway.extraPodSpecs }} - {{- toYaml . | nindent 6 }} - {{- end }} - {{- if .Values.karpenter.enabled }} - {{- with .Values.karpenter.labels }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- else }} - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- end }} - {{- if gt (len .Values.affinity) 0 }} - affinity: - {{- toYaml .Values.affinity | nindent 8 }} - {{- else if .Values.zabbixWebService.podAntiAffinity }} - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 1 - podAffinityTerm: - topologyKey: kubernetes.io/hostname - labelSelector: - matchLabels: - app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.zabbixJavaGatway.extraInitContainers }} - initContainers: - {{- toYaml . | nindent 8 }} - {{- end }} - containers: - - name: {{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - {{- if .Values.zabbixJavaGatway.resources }} - resources: - {{- toYaml .Values.zabbixJavaGatway.resources | nindent 12 }} - {{- end }} - {{- if .Values.zabbixJavaGatway.image.tag }} - image: "{{ .Values.zabbixJavaGatway.image.repository }}:{{ .Values.zabbixJavaGatway.image.tag }}" - {{- else }} - image: "{{ .Values.zabbixJavaGatway.image.repository }}:{{ .Values.zabbixImageTag }}" - {{- end }} - imagePullPolicy: {{ .Values.zabbixJavaGatway.image.pullPolicy }} - ports: - - name: zabbix-java-gw - containerPort: {{ .Values.zabbixJavaGatway.service.port }} - protocol: TCP - startupProbe: - tcpSocket: - port: zabbix-java-gw - initialDelaySeconds: 15 - periodSeconds: 5 - timeoutSeconds: 3 - failureThreshold: 5 - successThreshold: 1 - livenessProbe: - tcpSocket: - port: zabbix-java-gw - timeoutSeconds: 3 - failureThreshold: 3 - periodSeconds: 10 - successThreshold: 1 - securityContext: - {{- toYaml .Values.zabbixJavaGatway.securityContext | nindent 12 }} - env: - - name: ZBX_START_POLLERS - value: {{ .Values.zabbixJavaGatway.ZBX_START_POLLERS | quote }} - - name: ZBX_DEBUGLEVEL - value: {{ .Values.zabbixJavaGatway.ZBX_DEBUGLEVEL | quote }} - - name: ZBX_TIMEOUT - value: {{ .Values.zabbixJavaGatway.ZBX_TIMEOUT | quote }} - - name: ZBX_PROPERTIES_FILE - value: {{ .Values.zabbixJavaGatway.ZBX_PROPERTIES_FILE | quote }} - - name: ZABBIX_OPTIONS - value: {{ .Values.zabbixJavaGatway.ZABBIX_OPTIONS | quote }} - {{- range $item := .Values.zabbixJavaGatway.extraEnv }} - - name: {{ $item.name }} - value: {{ $item.value | quote }} - {{- end }} - {{- with .Values.zabbixJavaGatway.extraVolumeMounts }} - volumeMounts: - {{- toYaml . | nindent 12 }} - {{- end }} - {{- if .Values.affinity }} - affinity: - {{ toYaml .Values.affinity | indent 8 }} - {{- end }} - imagePullSecrets: - {{- range .Values.zabbixJavaGatway.image.pullSecrets }} - - name: {{ . | quote }} - {{- end }} - volumes: - {{- with .Values.zabbixJavaGatway.extraVolumes }} - {{- toYaml . | nindent 8 }} - {{- end }} -{{- end }} \ No newline at end of file diff --git a/charts/zabbix/templates/deployment-zabbix-java-gateway.yaml b/charts/zabbix/templates/deployment-zabbix-java-gateway.yaml new file mode 100644 index 0000000..b6ee22f --- /dev/null +++ b/charts/zabbix/templates/deployment-zabbix-java-gateway.yaml @@ -0,0 +1,141 @@ +{{- if .Values.zabbixJavaGateway.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + labels: + app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + app.kubernetes.io/name: {{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + helm.sh/chart: {{ include "zabbix.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + app.kubernetes.io/managed-by: {{ .Release.Service }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + {{- if .Values.zabbixJavaGateway.deploymentLabels }} + {{- toYaml .Values.zabbixJavaGateway.deploymentLabels | nindent 4 }} + {{- end }} + annotations: + {{- range $key,$value := .Values.zabbixJavaGateway.deploymentAnnotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} +spec: + replicas: {{ .Values.zabbixJavaGateway.replicaCount }} + selector: + matchLabels: + app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + template: + metadata: + annotations: + {{- range $key,$value := .Values.zabbixJavaGateway.containerAnnotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} + labels: + app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + app.kubernetes.io/name: {{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + helm.sh/chart: {{ include "zabbix.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + app.kubernetes.io/managed-by: {{ .Release.Service }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + {{- if .Values.zabbixJavaGateway.containerLabels }} + {{- toYaml .Values.zabbixJavaGateway.containerLabels | nindent 8 }} + {{- end }} + spec: + serviceAccountName: {{ template "zabbix.serviceAccountName" . }} + {{- with .Values.zabbixJavaGateway.extraPodSpecs }} + {{- toYaml . | nindent 6 }} + {{- end }} + {{- if .Values.karpenter.enabled }} + {{- with .Values.karpenter.labels }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- else }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- end }} + {{- if gt (len .Values.affinity) 0 }} + affinity: + {{- toYaml .Values.affinity | nindent 8 }} + {{- else if .Values.zabbixWebService.podAntiAffinity }} + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchLabels: + app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.zabbixJavaGateway.extraInitContainers }} + initContainers: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: {{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + {{- if .Values.zabbixJavaGateway.resources }} + resources: + {{- toYaml .Values.zabbixJavaGateway.resources | nindent 12 }} + {{- end }} + {{- if .Values.zabbixJavaGateway.image.tag }} + image: "{{ .Values.zabbixJavaGateway.image.repository }}:{{ .Values.zabbixJavaGateway.image.tag }}" + {{- else }} + image: "{{ .Values.zabbixJavaGateway.image.repository }}:{{ .Values.zabbixImageTag }}" + {{- end }} + imagePullPolicy: {{ .Values.zabbixJavaGateway.image.pullPolicy }} + ports: + - name: zabbix-java-gw + containerPort: {{ .Values.zabbixJavaGateway.service.port }} + protocol: TCP + {{- with .Values.zabbixJavaGateway.livenessProbe }} + livenessProbe: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.zabbixJavaGateway.readinessProbe }} + readinessProbe: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.zabbixJavaGateway.startupProbe }} + startupProbe: + {{- toYaml . | nindent 12 }} + {{- end }} + securityContext: + {{- toYaml .Values.zabbixJavaGateway.securityContext | nindent 12 }} + env: + - name: ZBX_START_POLLERS + value: {{ .Values.zabbixJavaGateway.ZBX_START_POLLERS | quote }} + - name: ZBX_DEBUGLEVEL + value: {{ .Values.zabbixJavaGateway.ZBX_DEBUGLEVEL | quote }} + - name: ZBX_TIMEOUT + value: {{ .Values.zabbixJavaGateway.ZBX_TIMEOUT | quote }} + - name: ZBX_PROPERTIES_FILE + value: {{ .Values.zabbixJavaGateway.ZBX_PROPERTIES_FILE | quote }} + - name: ZABBIX_OPTIONS + value: {{ .Values.zabbixJavaGateway.ZABBIX_OPTIONS | quote }} + {{- range $item := .Values.zabbixJavaGateway.extraEnv }} + - name: {{ $item.name }} + value: {{ $item.value | quote }} + {{- end }} + {{- with .Values.zabbixJavaGateway.extraVolumeMounts }} + volumeMounts: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.zabbixJavaGateway.extraContainers }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- if .Values.affinity }} + affinity: + {{ toYaml .Values.affinity | indent 8 }} + {{- end }} + imagePullSecrets: + {{- range .Values.zabbixJavaGateway.image.pullSecrets }} + - name: {{ . | quote }} + {{- end }} + volumes: + {{- with .Values.zabbixJavaGateway.extraVolumes }} + {{- toYaml . | nindent 8 }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/zabbix/templates/deployment-zabbix-server.yaml b/charts/zabbix/templates/deployment-zabbix-server.yaml index 76681a9..8975bab 100644 --- a/charts/zabbix/templates/deployment-zabbix-server.yaml +++ b/charts/zabbix/templates/deployment-zabbix-server.yaml @@ -152,13 +152,13 @@ spec: - name: ZBX_STARTREPORTWRITERS value: {{ .Values.zabbixWebService.replicaCount | quote }} - name: ZBX_JAVAGATEWAY_ENABLE - value: {{ .Values.zabbixJavaGatway.enabled | quote }} + value: {{ .Values.zabbixJavaGateway.enabled | quote }} - name: ZBX_JAVAGATEWAY - value: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} + value: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} - name: ZBX_JAVAGATEWAYPORT - value: {{ .Values.zabbixJavaGatway.service.port | quote }} + value: {{ .Values.zabbixJavaGateway.service.port | quote }} - name: ZBX_STARTJAVAPOLLERS - value: {{ .Values.zabbixJavaGatway.ZBX_STARTJAVAPOLLERS | quote }} + value: {{ .Values.zabbixJavaGateway.ZBX_STARTJAVAPOLLERS | quote }} {{- end }} {{- with .Values.zabbixServer.extraVolumeMounts }} volumeMounts: diff --git a/charts/zabbix/templates/deployment-zabbix-web.yaml b/charts/zabbix/templates/deployment-zabbix-web.yaml index b565ab9..99d6bcd 100644 --- a/charts/zabbix/templates/deployment-zabbix-web.yaml +++ b/charts/zabbix/templates/deployment-zabbix-web.yaml @@ -104,24 +104,18 @@ spec: {{- with .Values.zabbixWeb.extraVolumeMounts }} {{- toYaml . | nindent 10 }} {{- end }} + {{- with .Values.zabbixWeb.livenessProbe }} livenessProbe: - httpGet: - path: {{ .Values.zabbixWeb.livenessProbe.path }} - port: zabbix-web - initialDelaySeconds: {{ .Values.zabbixWeb.livenessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.zabbixWeb.livenessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.zabbixWeb.livenessProbe.timeoutSeconds }} - successThreshold: {{ .Values.zabbixWeb.livenessProbe.successThreshold }} - failureThreshold: {{ .Values.zabbixWeb.livenessProbe.failureThreshold }} + {{- toYaml . | nindent 10 }} + {{- end }} + {{- with .Values.zabbixWeb.readinessProbe }} readinessProbe: - httpGet: - path: {{ .Values.zabbixWeb.readinessProbe.path }} - port: zabbix-web - initialDelaySeconds: {{ .Values.zabbixWeb.readinessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.zabbixWeb.readinessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.zabbixWeb.readinessProbe.timeoutSeconds }} - successThreshold: {{ .Values.zabbixWeb.readinessProbe.successThreshold }} - failureThreshold: {{ .Values.zabbixWeb.readinessProbe.failureThreshold }} + {{- toYaml . | nindent 10 }} + {{- end }} + {{- with .Values.zabbixWeb.startupProbe }} + startupProbe: + {{- toYaml . | nindent 10 }} + {{- end }} {{- with .Values.zabbixWeb.extraContainers }} {{- toYaml . | nindent 6 }} {{- end }} diff --git a/charts/zabbix/templates/job-init-db-schema.yaml b/charts/zabbix/templates/job-init-db-schema.yaml index df0ad75..01a2f11 100644 --- a/charts/zabbix/templates/job-init-db-schema.yaml +++ b/charts/zabbix/templates/job-init-db-schema.yaml @@ -1,5 +1,9 @@ {{- if and .Values.zabbixServer.enabled (gt (.Values.zabbixServer.replicaCount | int) 1) }} +{{- if .Capabilities.APIVersions.Has "batch/v1/CronJob" }} apiVersion: batch/v1 +{{- else }} +apiVersion: batch/v1beta1 +{{- end }} kind: Job metadata: name: {{ template "zabbix.fullname" . }}-init-db-schema @@ -9,7 +13,28 @@ metadata: helm.sh/chart: {{ include "zabbix.chart" . }} app.kubernetes.io/instance: {{ .Release.Name }}-init-db-schema app.kubernetes.io/managed-by: {{ .Release.Service }}-init-db-schema + {{- if .Values.zabbixServer.jobDBSchema.jobLabels }} + {{- toYaml .Values.zabbixServer.jobDBSchema.jobLabels | nindent 6 }} + {{- end }} + annotations: + {{- range $key,$value := .Values.zabbixServer.jobDBSchema.jobAnnotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} spec: + metadata: + labels: + app: {{ template "zabbix.fullname" . }}-init-db-schema + app.kubernetes.io/name: init-db-schema + helm.sh/chart: {{ include "zabbix.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }}-init-db-schema + app.kubernetes.io/managed-by: {{ .Release.Service }}-init-db-schema + {{- if .Values.zabbixServer.jobDBSchema.jobLabels }} + {{- toYaml .Values.zabbixServer.jobDBSchema.jobLabels | nindent 6 }} + {{- end }} + annotations: + {{- range $key,$value := .Values.zabbixServer.jobDBSchema.jobAnnotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} ttlSecondsAfterFinished: 120 template: spec: @@ -32,7 +57,7 @@ spec: {{- end }} {{- with .Values.tolerations }} tolerations: - {{- toYaml . | nindent 12 }} + {{- toYaml . | nindent 8 }} {{- end }} containers: {{- with .Values.zabbixServer.jobDBSchema.extraContainers }} diff --git a/charts/zabbix/templates/secret-db-access.yaml b/charts/zabbix/templates/secret-db-access.yaml index fcb2fbb..64f0354 100644 --- a/charts/zabbix/templates/secret-db-access.yaml +++ b/charts/zabbix/templates/secret-db-access.yaml @@ -1,4 +1,4 @@ -{{- if and .Values.postgresAccess.useUnifiedSecret .Values.postgresAccess.unifiedSecretAutoCreate }} +{{- if and .Values.postgresAccess.useUnifiedSecret .Values.postgresAccess.unifiedSecretAutoCreate .Values.postgresql.enabled }} apiVersion: v1 kind: Secret metadata: diff --git a/charts/zabbix/templates/service.yaml b/charts/zabbix/templates/service.yaml index b79d3d4..196c2e6 100644 --- a/charts/zabbix/templates/service.yaml +++ b/charts/zabbix/templates/service.yaml @@ -47,7 +47,7 @@ spec: {{- end }} -{{- if .Values.zabbixAgent.enabled }} +{{- if and .Values.zabbixAgent.enabled .Values.zabbixAgent.runAsDaemonSet }} --- apiVersion: v1 kind: Service @@ -79,17 +79,7 @@ spec: protocol: TCP name: zabbix-agent selector: - {{- if .Values.zabbixAgent.runAsSidecar }} - {{- if .Values.zabbixServer.enabled }} - app: {{ template "zabbix.fullname" . }}-zabbix-server - {{- end }} - {{- if .Values.zabbixProxy.enabled }} - app: {{ template "zabbix.fullname" . }}-zabbix-proxy - {{- end }} - {{- end }} - {{- if .Values.zabbixAgent.runAsDaemonSet }} app: {{ template "zabbix.fullname" . }}-zabbix-agent - {{- end }} {{- end }} @@ -235,37 +225,37 @@ spec: app: {{ template "zabbix.fullname" . }}-postgresql {{- end }} -{{- if .Values.zabbixJavaGatway.enabled }} +{{- if .Values.zabbixJavaGateway.enabled }} --- apiVersion: v1 kind: Service metadata: - name: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} + name: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} labels: - app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - app.kubernetes.io/name: {{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} + app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + app.kubernetes.io/name: {{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} helm.sh/chart: {{ include "zabbix.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - app.kubernetes.io/managed-by: {{ .Release.Service }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} - {{- if .Values.zabbixJavaGatway.service.annotations }} + app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + app.kubernetes.io/managed-by: {{ .Release.Service }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} + {{- if .Values.zabbixJavaGateway.service.annotations }} annotations: - {{- range $key,$value := .Values.zabbixJavaGatway.service.annotations }} + {{- range $key,$value := .Values.zabbixJavaGateway.service.annotations }} {{ $key }}: {{ $value | quote }} {{- end }} {{- end }} spec: - type: {{ .Values.zabbixJavaGatway.service.type }} - {{- if .Values.zabbixJavaGatway.service.clusterIP }} - clusterIP: {{ .Values.zabbixJavaGatway.service.clusterIP }} + type: {{ .Values.zabbixJavaGateway.service.type }} + {{- if .Values.zabbixJavaGateway.service.clusterIP }} + clusterIP: {{ .Values.zabbixJavaGateway.service.clusterIP }} {{- end }} ports: - - port: {{ .Values.zabbixJavaGatway.service.port }} + - port: {{ .Values.zabbixJavaGateway.service.port }} targetPort: 10052 - {{- if ( and (eq .Values.zabbixJavaGatway.service.type "NodePort" ) (not (empty .Values.zabbixJavaGatway.service.nodePort)) ) }} - nodePort: {{ .Values.zabbixJavaGatway.service.nodePort }} + {{- if ( and (eq .Values.zabbixJavaGateway.service.type "NodePort" ) (not (empty .Values.zabbixJavaGateway.service.nodePort)) ) }} + nodePort: {{ .Values.zabbixJavaGateway.service.nodePort }} {{- end }} protocol: TCP name: zabbix-java-gw selector: - app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGatway.ZBX_JAVAGATEWAY }} + app: {{ template "zabbix.fullname" . }}-{{ .Values.zabbixJavaGateway.ZBX_JAVAGATEWAY }} {{- end }} \ No newline at end of file diff --git a/charts/zabbix/templates/serviceaccount.yaml b/charts/zabbix/templates/serviceaccount.yaml index 3d43909..35a0d08 100644 --- a/charts/zabbix/templates/serviceaccount.yaml +++ b/charts/zabbix/templates/serviceaccount.yaml @@ -14,7 +14,6 @@ metadata: {{- end }} labels: app: {{ template "zabbix.fullname" . }}-serviceaccount - helm.sh/chart: {{ include "zabbix.chart" . }} {{- include "zabbix.labels" . | nindent 4 }} {{- with .Values.serviceAccount.labels }} {{- toYaml . | nindent 4 }} diff --git a/charts/zabbix/values.yaml b/charts/zabbix/values.yaml index ca347ba..4253801 100644 --- a/charts/zabbix/values.yaml +++ b/charts/zabbix/values.yaml @@ -121,6 +121,10 @@ zabbixServer: # -- Labels to add to the cronjob for ha nodes autoclean cronjobLabels: {} jobDBSchema: + # -- annotations to add to the jobs + jobAnnotations: {} + # -- labels to add to the jobs + jobLabels: {} # -- additional init containers to start within the Zabbix Server Job DB Schema pod extraInitContainers: [] # -- additional containers to start within the Zabbix Server Job DB Schema pod @@ -406,11 +410,26 @@ zabbixAgent: # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} # -- The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ - livenessProbe: {} + livenessProbe: + tcpSocket: + # -- Port number/alias name of the container + port: zabbix-agent + timeoutSeconds: 3 + failureThreshold: 3 + periodSeconds: 10 + successThreshold: 1 # -- The kubelet uses readiness probes to know when a container is ready to start accepting traffic. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ readinessProbe: {} # -- The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ - startupProbe: {} + startupProbe: + tcpSocket: + # -- Port number/alias name of the container + port: zabbix-agent + initialDelaySeconds: 15 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 5 + successThreshold: 1 # **Zabbix Web** configurations zabbixWeb: @@ -477,31 +496,29 @@ zabbixWeb: # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} livenessProbe: - # -- Path of health check of application - path: / - # -- Number of seconds after the container has started before liveness + httpGet: + # -- Path of health check of application + path: / + # -- Port number/alias name of the container + port: zabbix-web initialDelaySeconds: 30 - # -- Specifies that the kubelet should perform a liveness probe every N seconds periodSeconds: 10 - # -- Number of seconds after which the probe times out timeoutSeconds: 5 - # -- When a probe fails, Kubernetes will try failureThreshold times before giving up. Giving up in case of liveness probe means restarting the container. In case of readiness probe the Pod will be marked Unready failureThreshold: 6 - # -- Minimum consecutive successes for the probe to be considered successful after having failed successThreshold: 1 readinessProbe: - # -- Path of health check of application - path: / - # -- Number of seconds after the container has started before readiness + httpGet: + # -- Path of health check of application + path: / + # -- Port number/alias name of the container + port: zabbix-web initialDelaySeconds: 5 - # -- Specifies that the kubelet should perform a readiness probe every N seconds periodSeconds: 10 - # -- Number of seconds after which the probe times out timeoutSeconds: 5 - # -- When a probe fails, Kubernetes will try failureThreshold times before giving up. Giving up in case of liveness probe means restarting the container. In case of readiness probe the Pod will be marked Unready failureThreshold: 6 - # -- Minimum consecutive successes for the probe to be considered successful after having failed successThreshold: 1 + # -- The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ + startupProbe: {} # **Zabbix Web Service** configurations zabbixWebService: @@ -563,16 +580,18 @@ zabbixWebService: # -- The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ startupProbe: {} -# **Zabbix Java Gatway** configurations -zabbixJavaGatway: - # -- Enables use of **Zabbix Java Gatway** +# **Zabbix Java Gateway** configurations +zabbixJavaGateway: + # -- Enables use of **Zabbix Java Gateway** enabled: false + # -- Number of replicas of ``Zabbix Java Gateway`` module + replicaCount: 1 # -- Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) resources: {} image: - # -- Zabbix Java Gatway Docker image name. Can use zabbix/zabbix-java-gateway + # -- Zabbix Java Gateway Docker image name. repository: zabbix/zabbix-java-gateway - # -- Zabbix Java Gatway Docker image tag, if you want to override zabbixImageTag + # -- Zabbix Java Gateway Docker image tag, if you want to override zabbixImageTag tag: null # -- Pull policy of Docker image pullPolicy: IfNotPresent @@ -588,52 +607,67 @@ zabbixJavaGatway: ZBX_TIMEOUT: 3 # -- Additional arguments for Zabbix Java Gateway. Useful to enable additional libraries and features. # ZABBIX_OPTIONS: - # Java Gatway Service Name + # Java Gateway Service Name ZBX_JAVAGATEWAY: zabbix-java-gateway - # Java Gatway Service Port + # Java Gateway Service Port service: - # -- Type of service for Zabbix Java Gatway + # -- Type of service for Zabbix Java Gateway type: ClusterIP - # -- Cluster IP for Zabbix Java Gatway + # -- Cluster IP for Zabbix Java Gateway clusterIP: # -- Port to expose service port: 10052 - # -- externalTrafficPolicy for Zabbix Java Gatway service. "Local" to preserve sender's IP address. Please note that this might not work on multi-node clusters, depending on your network settings. + # -- externalTrafficPolicy for Zabbix Java Gateway service. "Local" to preserve sender's IP address. Please note that this might not work on multi-node clusters, depending on your network settings. #externalTrafficPolicy: Local listenOnAllInterfaces: true # -- NodePort port to allocate (only if service.type = NodePort) - #nodePort: 31050 - # -- Annotations for the zabbix-agent service + #nodePort: 31052 + # -- Annotations for the zabbix-java-gateway service annotations: {} # metallb.universe.tf/address-pool: production-public-ips - # -- If true, agent pods mounts host / at /host/root - hostRootFsMount: true # -- Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/agent2/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml extraEnv: [] - # -- additional volumeMounts to the Zabbix Java Gatway container + # -- additional volumeMounts to the Zabbix Java Gateway container extraVolumeMounts: [] + # -- annotations to add to the deployment + deploymentAnnotations: {} # -- labels to add to the deployment deploymentLabels: {} # -- annotations to add to the containers containerAnnotations: {} # -- labels to add to the containers containerLabels: {} - # -- additional containers to start within the Zabbix Java Gatway pod + # -- additional containers to start within the Zabbix Java Gateway pod extraContainers: [] - # -- additional init containers to start within the Zabbix Java Gatway pod + # -- additional init containers to start within the Zabbix Java Gateway pod extraInitContainers: [] - # -- additional volumes to make available to the Zabbix Java Gatway pod + # -- additional volumes to make available to the Zabbix Java Gateway pod extraVolumes: [] - # -- additional specifications to the Zabbix Java Gatway pod + # -- additional specifications to the Zabbix Java Gateway pod extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} # -- The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ - livenessProbe: {} + livenessProbe: + tcpSocket: + # -- Port number/alias name of the container + port: zabbix-java-gw + timeoutSeconds: 3 + failureThreshold: 3 + periodSeconds: 10 + successThreshold: 1 # -- The kubelet uses readiness probes to know when a container is ready to start accepting traffic. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ readinessProbe: {} # -- The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ - startupProbe: {} + startupProbe: + tcpSocket: + # -- Port number/alias name of the container + port: zabbix-java-gw + initialDelaySeconds: 15 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 5 + successThreshold: 1 # Ingress configurations ingress: @@ -798,15 +832,20 @@ karpenter: serviceAccount: # -- Specifies whether a service account should be created. create: true - # -- The name of the service account to use. If not set and create is true, a name is generated using the fullname template. name: "" - # -- Optional additional annotations to add to the Service Account. annotations: {} - # -- Optional additional labels to add to the Service Account. labels: {} - # -- Automount API credentials for a Service Account. automountServiceAccountToken: true + +rbac: + # -- Specifies whether the RBAC resources should be created + create: true + additionalRulesForClusterRole: [] + # - apiGroups: [ "" ] + # resources: + # - nodes/proxy + # verbs: [ "get", "list", "watch" ] \ No newline at end of file From c302cc72d255a3d12b29fc53b9c263cb49abf4f3 Mon Sep 17 00:00:00 2001 From: Aecio dos Santos Pires Date: Sun, 24 Mar 2024 00:44:01 -0300 Subject: [PATCH 2/2] Fix bugs and many improvements [2] --- charts/zabbix/README.md | 172 ++++++++++++++++++------------------ charts/zabbix/values.yaml | 178 +++++++++++++++++++------------------- 2 files changed, 175 insertions(+), 175 deletions(-) diff --git a/charts/zabbix/README.md b/charts/zabbix/README.md index bd140f2..ad195af 100644 --- a/charts/zabbix/README.md +++ b/charts/zabbix/README.md @@ -330,24 +330,24 @@ The following tables lists the configurable parameters of the chart and their de | postgresAccess.unifiedSecretName | string | `"zabbixdb-pguser-zabbix"` | Name of one secret for unified configuration of PostgreSQL access | | postgresAccess.useUnifiedSecret | bool | `true` | Whether to use the unified PostgreSQL access secret | | postgresAccess.user | string | `"zabbix"` | User of database | -| postgresql.containerAnnotations | object | `{}` | annotations to add to the containers | -| postgresql.containerLabels | object | `{}` | labels to add to the containers | +| postgresql.containerAnnotations | object | `{}` | Annotations to add to the containers | +| postgresql.containerLabels | object | `{}` | Labels to add to the containers | | postgresql.enabled | bool | `true` | Create a database using Postgresql | -| postgresql.extraContainers | list | `[]` | additional containers to start within the postgresql pod | +| postgresql.extraContainers | list | `[]` | Additional containers to start within the postgresql pod | | postgresql.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. | -| postgresql.extraInitContainers | list | `[]` | additional init containers to start within the postgresql pod | -| postgresql.extraPodSpecs | object | `{}` | additional specifications to the postgresql pod | +| postgresql.extraInitContainers | list | `[]` | Additional init containers to start within the postgresql pod | +| postgresql.extraPodSpecs | object | `{}` | Additional specifications to the postgresql pod | | postgresql.extraRuntimeParameters | object | `{"max_connections":50}` | Extra Postgresql runtime parameters ("-c" options) | -| postgresql.extraVolumeMounts | list | `[]` | additional volumeMounts to the postgresql container | -| postgresql.extraVolumes | list | `[]` | additional volumes to make available to the postgresql pod | +| postgresql.extraVolumeMounts | list | `[]` | Additional volumeMounts to the postgresql container | +| postgresql.extraVolumes | list | `[]` | Additional volumes to make available to the postgresql pod | | postgresql.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | | postgresql.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | | postgresql.image.repository | string | `"postgres"` | Postgresql Docker image name: chose one of "postgres" or "timescale/timescaledb" | | postgresql.image.tag | int | `15` | Tag of Docker image of Postgresql server, choice "15" for postgres "2.11.1-pg15" for timescaledb (Zabbix supports TimescaleDB 2.0.1-2.11.x. More info: https://www.zabbix.com/documentation/6.0/en/manual/installation/requirements) Added support for PostgreSQL versions 15.x since Zabbix 6.0.10 | | postgresql.livenessProbe | object | `{}` | The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| postgresql.persistence.enabled | bool | `false` | whether to enable persistent storage for the postgres container or not | -| postgresql.persistence.existingClaimName | bool | `false` | existing persistent volume claim name to be used to store posgres data | -| postgresql.persistence.storageSize | string | `"5Gi"` | size of the PVC to be automatically generated | +| postgresql.persistence.enabled | bool | `false` | Whether to enable persistent storage for the postgres container or not | +| postgresql.persistence.existingClaimName | bool | `false` | Existing persistent volume claim name to be used to store posgres data | +| postgresql.persistence.storageSize | string | `"5Gi"` | Size of the PVC to be automatically generated | | postgresql.readinessProbe | object | `{}` | The kubelet uses readiness probes to know when a container is ready to start accepting traffic. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | postgresql.resources | object | `{}` | Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) | | postgresql.securityContext | object | `{}` | Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | @@ -356,8 +356,8 @@ The following tables lists the configurable parameters of the chart and their de | postgresql.service.port | int | `5432` | Port of service in Kubernetes cluster | | postgresql.service.type | string | `"ClusterIP"` | Type of service in Kubernetes cluster | | postgresql.startupProbe | object | `{}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| postgresql.statefulSetAnnotations | object | `{}` | annotations to add to the statefulset | -| postgresql.statefulSetLabels | object | `{}` | labels to add to the statefulset | +| postgresql.statefulSetAnnotations | object | `{}` | Annotations to add to the statefulset | +| postgresql.statefulSetLabels | object | `{}` | Labels to add to the statefulset | | rbac.additionalRulesForClusterRole | list | `[]` | | | rbac.create | bool | `true` | Specifies whether the RBAC resources should be created | | route.annotations | object | `{}` | Openshift Route extra annotations | @@ -377,18 +377,18 @@ The following tables lists the configurable parameters of the chart and their de | zabbixAgent.ZBX_SERVER_HOST | string | `"0.0.0.0/0"` | Zabbix Server host | | zabbixAgent.ZBX_SERVER_PORT | int | `10051` | Zabbix Server port | | zabbixAgent.ZBX_TIMEOUT | int | `4` | The variable is used to specify timeout for processing checks. By default, value is 4. | -| zabbixAgent.containerAnnotations | object | `{}` | annotations to add to the containers | -| zabbixAgent.containerLabels | object | `{}` | labels to add to the containers | -| zabbixAgent.daemonSetAnnotations | object | `{}` | annotations to add to the daemonSet | -| zabbixAgent.daemonSetLabels | object | `{}` | labels to add to the daemonSet | -| zabbixAgent.deploymentLabels | object | `{}` | labels to add to the deployment | +| zabbixAgent.containerAnnotations | object | `{}` | Annotations to add to the containers | +| zabbixAgent.containerLabels | object | `{}` | Labels to add to the containers | +| zabbixAgent.daemonSetAnnotations | object | `{}` | Annotations to add to the daemonSet | +| zabbixAgent.daemonSetLabels | object | `{}` | Labels to add to the daemonSet | +| zabbixAgent.deploymentLabels | object | `{}` | Labels to add to the deployment | | zabbixAgent.enabled | bool | `true` | Enables use of **Zabbix Agent** | -| zabbixAgent.extraContainers | list | `[]` | additional containers to start within the Zabbix Agent pod | +| zabbixAgent.extraContainers | list | `[]` | Additional containers to start within the Zabbix Agent pod | | zabbixAgent.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/agent2/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml | -| zabbixAgent.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Agent pod | -| zabbixAgent.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Agent pod | -| zabbixAgent.extraVolumeMounts | list | `[]` | additional volumeMounts to the zabbix Agent container | -| zabbixAgent.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Agent pod | +| zabbixAgent.extraInitContainers | list | `[]` | Additional init containers to start within the Zabbix Agent pod | +| zabbixAgent.extraPodSpecs | object | `{}` | Additional specifications to the Zabbix Agent pod | +| zabbixAgent.extraVolumeMounts | list | `[]` | Additional volumeMounts to the zabbix Agent container | +| zabbixAgent.extraVolumes | list | `[]` | Additional volumes to make available to the Zabbix Agent pod | | zabbixAgent.hostRootFsMount | bool | `true` | If true, agent pods mounts host / at /host/root | | zabbixAgent.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | | zabbixAgent.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | @@ -413,17 +413,17 @@ The following tables lists the configurable parameters of the chart and their de | zabbixJavaGateway.ZBX_JAVAGATEWAY | string | `"zabbix-java-gateway"` | Additional arguments for Zabbix Java Gateway. Useful to enable additional libraries and features. ZABBIX_OPTIONS: Java Gateway Service Name | | zabbixJavaGateway.ZBX_START_POLLERS | int | `5` | This variable is specified amount of pollers. By default, value is 5 | | zabbixJavaGateway.ZBX_TIMEOUT | int | `3` | This variable is used to specify timeout for outgoing connections. By default, value is 3. | -| zabbixJavaGateway.containerAnnotations | object | `{}` | annotations to add to the containers | -| zabbixJavaGateway.containerLabels | object | `{}` | labels to add to the containers | -| zabbixJavaGateway.deploymentAnnotations | object | `{}` | annotations to add to the deployment | -| zabbixJavaGateway.deploymentLabels | object | `{}` | labels to add to the deployment | +| zabbixJavaGateway.containerAnnotations | object | `{}` | Annotations to add to the containers | +| zabbixJavaGateway.containerLabels | object | `{}` | Labels to add to the containers | +| zabbixJavaGateway.deploymentAnnotations | object | `{}` | Annotations to add to the deployment | +| zabbixJavaGateway.deploymentLabels | object | `{}` | Labels to add to the deployment | | zabbixJavaGateway.enabled | bool | `false` | Enables use of **Zabbix Java Gateway** | -| zabbixJavaGateway.extraContainers | list | `[]` | additional containers to start within the Zabbix Java Gateway pod | +| zabbixJavaGateway.extraContainers | list | `[]` | Additional containers to start within the Zabbix Java Gateway pod | | zabbixJavaGateway.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/agent2/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml | -| zabbixJavaGateway.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Java Gateway pod | -| zabbixJavaGateway.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Java Gateway pod | -| zabbixJavaGateway.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Java Gateway container | -| zabbixJavaGateway.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Java Gateway pod | +| zabbixJavaGateway.extraInitContainers | list | `[]` | Additional init containers to start within the Zabbix Java Gateway pod | +| zabbixJavaGateway.extraPodSpecs | object | `{}` | Additional specifications to the Zabbix Java Gateway pod | +| zabbixJavaGateway.extraVolumeMounts | list | `[]` | Additional volumeMounts to the Zabbix Java Gateway container | +| zabbixJavaGateway.extraVolumes | list | `[]` | Additional volumes to make available to the Zabbix Java Gateway pod | | zabbixJavaGateway.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | | zabbixJavaGateway.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | | zabbixJavaGateway.image.repository | string | `"zabbix/zabbix-java-gateway"` | Zabbix Java Gateway Docker image name. | @@ -449,16 +449,16 @@ The following tables lists the configurable parameters of the chart and their de | zabbixProxy.ZBX_SERVER_PORT | int | `10051` | Zabbix Server port | | zabbixProxy.ZBX_TIMEOUT | int | `4` | | | zabbixProxy.ZBX_VMWARECACHESIZE | string | `"128M"` | Cache size | -| zabbixProxy.containerAnnotations | object | `{}` | annotations to add to the containers | -| zabbixProxy.containerLabels | object | `{}` | labels to add to the containers | +| zabbixProxy.containerAnnotations | object | `{}` | Annotations to add to the containers | +| zabbixProxy.containerLabels | object | `{}` | Labels to add to the containers | | zabbixProxy.enabled | bool | `false` | Enables use of **Zabbix Proxy** | -| zabbixProxy.extraContainers | list | `[]` | additional containers to start within the Zabbix Proxy pod | +| zabbixProxy.extraContainers | list | `[]` | Additional containers to start within the Zabbix Proxy pod | | zabbixProxy.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/proxy-sqlite3/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml | -| zabbixProxy.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Proxy pod | -| zabbixProxy.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Proxy pod | -| zabbixProxy.extraVolumeClaimTemplate | list | `[]` | extra volumeClaimTemplate for zabbixProxy statefulset | -| zabbixProxy.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Proxy container | -| zabbixProxy.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Proxy pod | +| zabbixProxy.extraInitContainers | list | `[]` | Additional init containers to start within the Zabbix Proxy pod | +| zabbixProxy.extraPodSpecs | object | `{}` | Additional specifications to the Zabbix Proxy pod | +| zabbixProxy.extraVolumeClaimTemplate | list | `[]` | Extra volumeClaimTemplate for zabbixProxy statefulset | +| zabbixProxy.extraVolumeMounts | list | `[]` | Additional volumeMounts to the Zabbix Proxy container | +| zabbixProxy.extraVolumes | list | `[]` | Additional volumes to make available to the Zabbix Proxy pod | | zabbixProxy.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | | zabbixProxy.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | | zabbixProxy.image.repository | string | `"zabbix/zabbix-proxy-sqlite3"` | Zabbix Proxy Docker image name | @@ -473,47 +473,47 @@ The following tables lists the configurable parameters of the chart and their de | zabbixProxy.service.port | int | `10051` | Port to expose service | | zabbixProxy.service.type | string | `"ClusterIP"` | Type of service for Zabbix Proxy | | zabbixProxy.startupProbe | object | `{}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| zabbixProxy.statefulSetAnnotations | object | `{}` | annotations to add to the statefulset | -| zabbixProxy.statefulSetLabels | object | `{}` | labels to add to the statefulset | -| zabbixServer.containerAnnotations | object | `{}` | annotations to add to the containers | -| zabbixServer.containerLabels | object | `{}` | labels to add to the containers | -| zabbixServer.deploymentAnnotations | object | `{}` | annotations to add to the deployment | -| zabbixServer.deploymentLabels | object | `{}` | labels to add to the deployment | +| zabbixProxy.statefulSetAnnotations | object | `{}` | Annotations to add to the statefulset | +| zabbixProxy.statefulSetLabels | object | `{}` | Labels to add to the statefulset | +| zabbixServer.containerAnnotations | object | `{}` | Annotations to add to the containers | +| zabbixServer.containerLabels | object | `{}` | Labels to add to the containers | +| zabbixServer.deploymentAnnotations | object | `{}` | Annotations to add to the deployment | +| zabbixServer.deploymentLabels | object | `{}` | Labels to add to the deployment | | zabbixServer.enabled | bool | `true` | Enables use of **Zabbix Server** | -| zabbixServer.extraContainers | list | `[]` | additional containers to start within the Zabbix Server pod | +| zabbixServer.extraContainers | list | `[]` | Additional containers to start within the Zabbix Server pod | | zabbixServer.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/server-pgsql/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml | -| zabbixServer.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Server pod | -| zabbixServer.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Server pod | -| zabbixServer.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Server container | -| zabbixServer.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Server pod | -| zabbixServer.haNodesAutoClean | object | `{"concurrencyPolicy":"Replace","cronjobLabels":{},"deleteOlderThanSeconds":3600,"enabled":true,"extraContainers":[],"extraEnv":[],"extraInitContainers":[],"extraPodSpecs":{},"extraVolumeMounts":[],"extraVolumes":[],"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"postgres","tag":15},"resources":{},"schedule":"0 1 * * *","securityContext":{}}` | automatically clean orphaned ha nodes from ha_nodes db table | +| zabbixServer.extraInitContainers | list | `[]` | Additional init containers to start within the Zabbix Server pod | +| zabbixServer.extraPodSpecs | object | `{}` | Additional specifications to the Zabbix Server pod | +| zabbixServer.extraVolumeMounts | list | `[]` | Additional volumeMounts to the Zabbix Server container | +| zabbixServer.extraVolumes | list | `[]` | Additional volumes to make available to the Zabbix Server pod | +| zabbixServer.haNodesAutoClean | object | `{"concurrencyPolicy":"Replace","cronjobLabels":{},"deleteOlderThanSeconds":3600,"enabled":true,"extraContainers":[],"extraEnv":[],"extraInitContainers":[],"extraPodSpecs":{},"extraVolumeMounts":[],"extraVolumes":[],"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"postgres","tag":15},"resources":{},"schedule":"0 1 * * *","securityContext":{}}` | Automatically clean orphaned ha nodes from ha_nodes db table | | zabbixServer.haNodesAutoClean.cronjobLabels | object | `{}` | Labels to add to the cronjob for ha nodes autoclean | -| zabbixServer.haNodesAutoClean.extraContainers | list | `[]` | additional containers to start within the cronjob hanodes autoclean | +| zabbixServer.haNodesAutoClean.extraContainers | list | `[]` | Additional containers to start within the cronjob hanodes autoclean | | zabbixServer.haNodesAutoClean.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. | -| zabbixServer.haNodesAutoClean.extraInitContainers | list | `[]` | additional init containers to start within the cronjob hanodes autoclean | -| zabbixServer.haNodesAutoClean.extraPodSpecs | object | `{}` | additional specifications to the cronjob hanodes autoclean | -| zabbixServer.haNodesAutoClean.extraVolumeMounts | list | `[]` | additional volumeMounts to the cronjob hanodes autoclean | -| zabbixServer.haNodesAutoClean.extraVolumes | list | `[]` | additional volumes to make available to the cronjob hanodes autoclean | +| zabbixServer.haNodesAutoClean.extraInitContainers | list | `[]` | Additional init containers to start within the cronjob hanodes autoclean | +| zabbixServer.haNodesAutoClean.extraPodSpecs | object | `{}` | Additional specifications to the cronjob hanodes autoclean | +| zabbixServer.haNodesAutoClean.extraVolumeMounts | list | `[]` | Additional volumeMounts to the cronjob hanodes autoclean | +| zabbixServer.haNodesAutoClean.extraVolumes | list | `[]` | Additional volumes to make available to the cronjob hanodes autoclean | | zabbixServer.haNodesAutoClean.image.repository | string | `"postgres"` | Postgresql Docker image name: chose one of "postgres" or "timescale/timescaledb" | | zabbixServer.haNodesAutoClean.image.tag | int | `15` | Tag of Docker image of Postgresql server, choice "15" for postgres "2.10.3-pg15" for timescaledb (Zabbix supports TimescaleDB 2.0.1-2.10.x. More info: https://www.zabbix.com/documentation/6.0/en/manual/installation/requirements) Added support for PostgreSQL versions 15.x since Zabbix 6.0.10 | | zabbixServer.haNodesAutoClean.resources | object | `{}` | Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) | | zabbixServer.haNodesAutoClean.securityContext | object | `{}` | Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | -| zabbixServer.hostIP | string | `"0.0.0.0"` | optional set hostIP different from 0.0.0.0 to open port only on this IP | -| zabbixServer.hostPort | bool | `false` | optional set true open a port direct on node where Zabbix Server runs | +| zabbixServer.hostIP | string | `"0.0.0.0"` | Optional set hostIP different from 0.0.0.0 to open port only on this IP | +| zabbixServer.hostPort | bool | `false` | Optional set true open a port direct on node where Zabbix Server runs | | zabbixServer.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | | zabbixServer.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | | zabbixServer.image.repository | string | `"zabbix/zabbix-server-pgsql"` | Zabbix Server Docker image name | | zabbixServer.image.tag | string | `nil` | Zabbix Server Docker image tag, if you want to override zabbixImageTag | -| zabbixServer.jobDBSchema.extraContainers | list | `[]` | additional containers to start within the Zabbix Server Job DB Schema pod | -| zabbixServer.jobDBSchema.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Server Job DB Schema pod | -| zabbixServer.jobDBSchema.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Server Job DB Schema pod | -| zabbixServer.jobDBSchema.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Server Job DB Schema pod | -| zabbixServer.jobDBSchema.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Server Job DB Schema pod | -| zabbixServer.jobDBSchema.jobAnnotations | object | `{}` | annotations to add to the jobs | -| zabbixServer.jobDBSchema.jobLabels | object | `{}` | labels to add to the jobs | +| zabbixServer.jobDBSchema.extraContainers | list | `[]` | Additional containers to start within the Zabbix Server Job DB Schema pod | +| zabbixServer.jobDBSchema.extraInitContainers | list | `[]` | Additional init containers to start within the Zabbix Server Job DB Schema pod | +| zabbixServer.jobDBSchema.extraPodSpecs | object | `{}` | Additional specifications to the Zabbix Server Job DB Schema pod | +| zabbixServer.jobDBSchema.extraVolumeMounts | list | `[]` | Additional volumeMounts to the Zabbix Server Job DB Schema pod | +| zabbixServer.jobDBSchema.extraVolumes | list | `[]` | Additional volumes to make available to the Zabbix Server Job DB Schema pod | +| zabbixServer.jobDBSchema.jobAnnotations | object | `{}` | Annotations to add to the jobs | +| zabbixServer.jobDBSchema.jobLabels | object | `{}` | Labels to add to the jobs | | zabbixServer.jobDBSchema.securityContext | object | `{}` | Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | | zabbixServer.livenessProbe | object | `{}` | The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| zabbixServer.podAntiAffinity | bool | `true` | set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 | +| zabbixServer.podAntiAffinity | bool | `true` | Set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 | | zabbixServer.readinessProbe | object | `{}` | The kubelet uses readiness probes to know when a container is ready to start accepting traffic. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | zabbixServer.replicaCount | int | `1` | Number of replicas of ``zabbixServer`` module | | zabbixServer.resources | object | `{}` | Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) | @@ -526,17 +526,17 @@ The following tables lists the configurable parameters of the chart and their de | zabbixServer.service.port | int | `10051` | Port of service in Kubernetes cluster | | zabbixServer.service.type | string | `"ClusterIP"` | Type of service in Kubernetes cluster | | zabbixServer.startupProbe | object | `{}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| zabbixWeb.containerAnnotations | object | `{}` | annotations to add to the containers | -| zabbixWeb.containerLabels | object | `{}` | labels to add to the containers | -| zabbixWeb.deploymentAnnotations | object | `{}` | annotations to add to the deployment | -| zabbixWeb.deploymentLabels | object | `{}` | labels to add to the deployment | +| zabbixWeb.containerAnnotations | object | `{}` | Annotations to add to the containers | +| zabbixWeb.containerLabels | object | `{}` | Labels to add to the containers | +| zabbixWeb.deploymentAnnotations | object | `{}` | Annotations to add to the deployment | +| zabbixWeb.deploymentLabels | object | `{}` | Labels to add to the deployment | | zabbixWeb.enabled | bool | `true` | Enables use of **Zabbix Web** | -| zabbixWeb.extraContainers | list | `[]` | additional containers to start within the Zabbix Web pod | +| zabbixWeb.extraContainers | list | `[]` | Additional containers to start within the Zabbix Web pod | | zabbixWeb.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/web-apache-pgsql/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml | -| zabbixWeb.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Web pod | -| zabbixWeb.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Web pod | -| zabbixWeb.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Web container | -| zabbixWeb.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Web pod | +| zabbixWeb.extraInitContainers | list | `[]` | Additional init containers to start within the Zabbix Web pod | +| zabbixWeb.extraPodSpecs | object | `{}` | Additional specifications to the Zabbix Web pod | +| zabbixWeb.extraVolumeMounts | list | `[]` | Additional volumeMounts to the Zabbix Web container | +| zabbixWeb.extraVolumes | list | `[]` | Additional volumes to make available to the Zabbix Web pod | | zabbixWeb.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | | zabbixWeb.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | | zabbixWeb.image.repository | string | `"zabbix/zabbix-web-nginx-pgsql"` | Zabbix Web Docker image name | @@ -566,28 +566,28 @@ The following tables lists the configurable parameters of the chart and their de | zabbixWeb.service.port | int | `80` | Port to expose service | | zabbixWeb.service.type | string | `"ClusterIP"` | Type of service for Zabbix Web | | zabbixWeb.startupProbe | object | `{}` | The kubelet uses startup probes to know when a container application has started. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| zabbixWebService.containerAnnotations | object | `{}` | annotations to add to the containers | -| zabbixWebService.containerLabels | object | `{}` | labels to add to the containers | -| zabbixWebService.deploymentAnnotations | object | `{}` | annotations to add to the deployment | -| zabbixWebService.deploymentLabels | object | `{}` | labels to add to the deployment | +| zabbixWebService.containerAnnotations | object | `{}` | Annotations to add to the containers | +| zabbixWebService.containerLabels | object | `{}` | Labels to add to the containers | +| zabbixWebService.deploymentAnnotations | object | `{}` | Annotations to add to the deployment | +| zabbixWebService.deploymentLabels | object | `{}` | Labels to add to the deployment | | zabbixWebService.enabled | bool | `true` | Enables use of **Zabbix Web Service** | -| zabbixWebService.extraContainers | list | `[]` | additional containers to start within the Zabbix Web Service pod | +| zabbixWebService.extraContainers | list | `[]` | Additional containers to start within the Zabbix Web Service pod | | zabbixWebService.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/web-service/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml | -| zabbixWebService.extraInitContainers | list | `[]` | additional init containers to start within the Zabbix Web Service pod | -| zabbixWebService.extraPodSpecs | object | `{}` | additional specifications to the Zabbix Web Service pod | -| zabbixWebService.extraVolumeMounts | list | `[]` | additional volumeMounts to the Zabbix Web Service container | -| zabbixWebService.extraVolumes | list | `[]` | additional volumes to make available to the Zabbix Web Service pod | +| zabbixWebService.extraInitContainers | list | `[]` | Additional init containers to start within the Zabbix Web Service pod | +| zabbixWebService.extraPodSpecs | object | `{}` | Additional specifications to the Zabbix Web Service pod | +| zabbixWebService.extraVolumeMounts | list | `[]` | Additional volumeMounts to the Zabbix Web Service container | +| zabbixWebService.extraVolumes | list | `[]` | Additional volumes to make available to the Zabbix Web Service pod | | zabbixWebService.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | | zabbixWebService.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images | | zabbixWebService.image.repository | string | `"zabbix/zabbix-web-service"` | Zabbix Webservice Docker image name | | zabbixWebService.image.tag | string | `nil` | Zabbix Webservice Docker image tag, if you want to override zabbixImageTag | | zabbixWebService.livenessProbe | object | `{}` | The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| zabbixWebService.podAntiAffinity | bool | `true` | set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 | +| zabbixWebService.podAntiAffinity | bool | `true` | Set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 | | zabbixWebService.readinessProbe | object | `{}` | The kubelet uses readiness probes to know when a container is ready to start accepting traffic. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | zabbixWebService.replicaCount | int | `1` | Number of replicas of ``zabbixWebService`` module | | zabbixWebService.resources | object | `{}` | Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) | | zabbixWebService.securityContext | object | `{}` | Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | -| zabbixWebService.service | object | `{"annotations":{},"clusterIP":null,"port":10053,"type":"ClusterIP"}` | set the IgnoreURLCertErrors configuration setting of Zabbix Web Service ignoreURLCertErrors=1 | +| zabbixWebService.service | object | `{"annotations":{},"clusterIP":null,"port":10053,"type":"ClusterIP"}` | Set the IgnoreURLCertErrors configuration setting of Zabbix Web Service ignoreURLCertErrors=1 | | zabbixWebService.service.annotations | object | `{}` | Annotations for the Zabbix Web Service | | zabbixWebService.service.clusterIP | string | `nil` | Cluster IP for Zabbix Web | | zabbixWebService.service.port | int | `10053` | Port to expose service | diff --git a/charts/zabbix/values.yaml b/charts/zabbix/values.yaml index 4253801..61ce995 100644 --- a/charts/zabbix/values.yaml +++ b/charts/zabbix/values.yaml @@ -70,11 +70,11 @@ zabbixServer: enabled: true # -- Number of replicas of ``zabbixServer`` module replicaCount: 1 - # -- set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 + # -- Set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 podAntiAffinity: true - # -- optional set true open a port direct on node where Zabbix Server runs + # -- Optional set true open a port direct on node where Zabbix Server runs hostPort: false - # -- optional set hostIP different from 0.0.0.0 to open port only on this IP + # -- Optional set hostIP different from 0.0.0.0 to open port only on this IP hostIP: 0.0.0.0 # -- Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) resources: {} @@ -87,7 +87,7 @@ zabbixServer: pullPolicy: IfNotPresent # -- List of dockerconfig secrets names to use when pulling images pullSecrets: [] - # -- automatically clean orphaned ha nodes from ha_nodes db table + # -- Automatically clean orphaned ha nodes from ha_nodes db table haNodesAutoClean: enabled: true image: @@ -106,34 +106,34 @@ zabbixServer: resources: {} # -- Extra environment variables. A list of additional environment variables. extraEnv: [] - # -- additional volumeMounts to the cronjob hanodes autoclean + # -- Additional volumeMounts to the cronjob hanodes autoclean extraVolumeMounts: [] - # -- additional containers to start within the cronjob hanodes autoclean + # -- Additional containers to start within the cronjob hanodes autoclean extraContainers: [] - # -- additional init containers to start within the cronjob hanodes autoclean + # -- Additional init containers to start within the cronjob hanodes autoclean extraInitContainers: [] - # -- additional volumes to make available to the cronjob hanodes autoclean + # -- Additional volumes to make available to the cronjob hanodes autoclean extraVolumes: [] - # -- additional specifications to the cronjob hanodes autoclean + # -- Additional specifications to the cronjob hanodes autoclean extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} # -- Labels to add to the cronjob for ha nodes autoclean cronjobLabels: {} jobDBSchema: - # -- annotations to add to the jobs + # -- Annotations to add to the jobs jobAnnotations: {} - # -- labels to add to the jobs + # -- Labels to add to the jobs jobLabels: {} - # -- additional init containers to start within the Zabbix Server Job DB Schema pod + # -- Additional init containers to start within the Zabbix Server Job DB Schema pod extraInitContainers: [] - # -- additional containers to start within the Zabbix Server Job DB Schema pod + # -- Additional containers to start within the Zabbix Server Job DB Schema pod extraContainers: [] - # -- additional specifications to the Zabbix Server Job DB Schema pod + # -- Additional specifications to the Zabbix Server Job DB Schema pod extraPodSpecs: {} - # -- additional volumeMounts to the Zabbix Server Job DB Schema pod + # -- Additional volumeMounts to the Zabbix Server Job DB Schema pod extraVolumeMounts: [] - # -- additional volumes to make available to the Zabbix Server Job DB Schema pod + # -- Additional volumes to make available to the Zabbix Server Job DB Schema pod extraVolumes: [] # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} @@ -158,23 +158,23 @@ zabbixServer: extraEnv: [] #- name: ENABLE_TIMESCALEDB # value: "true" - # -- annotations to add to the deployment + # -- Annotations to add to the deployment deploymentAnnotations: {} - # -- labels to add to the deployment + # -- Labels to add to the deployment deploymentLabels: {} - # -- annotations to add to the containers + # -- Annotations to add to the containers containerAnnotations: {} - # -- labels to add to the containers + # -- Labels to add to the containers containerLabels: {} - # -- additional volumeMounts to the Zabbix Server container + # -- Additional volumeMounts to the Zabbix Server container extraVolumeMounts: [] - # -- additional containers to start within the Zabbix Server pod + # -- Additional containers to start within the Zabbix Server pod extraContainers: [] - # -- additional init containers to start within the Zabbix Server pod + # -- Additional init containers to start within the Zabbix Server pod extraInitContainers: [] - # -- additional volumes to make available to the Zabbix Server pod + # -- Additional volumes to make available to the Zabbix Server pod extraVolumes: [] - # -- additional specifications to the Zabbix Server pod + # -- Additional specifications to the Zabbix Server pod extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} @@ -203,15 +203,15 @@ postgresql: # -- Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) resources: {} persistence: - # -- whether to enable persistent storage for the postgres container or not + # -- Whether to enable persistent storage for the postgres container or not enabled: false - # -- existing persistent volume claim name to be used to store posgres data + # -- Existing persistent volume claim name to be used to store posgres data existingClaimName: false - # -- size of the PVC to be automatically generated + # -- Size of the PVC to be automatically generated storageSize: 5Gi - # -- kubernetes uses volume access modes to match PersistentVolumeClaims and PersistentVolumes. See: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + # -- Kubernetes uses volume access modes to match PersistentVolumeClaims and PersistentVolumes. See: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes #claim_access_mode: "ReadWriteOnce" - # -- storage PVC storageclass to use + # -- Storage PVC storageclass to use #storageClass: my-storage-class service: # -- Type of service in Kubernetes cluster @@ -228,23 +228,23 @@ postgresql: max_connections: 50 # -- Extra environment variables. A list of additional environment variables. extraEnv: [] - # -- annotations to add to the statefulset + # -- Annotations to add to the statefulset statefulSetAnnotations: {} - # -- labels to add to the statefulset + # -- Labels to add to the statefulset statefulSetLabels: {} - # -- annotations to add to the containers + # -- Annotations to add to the containers containerAnnotations: {} - # -- labels to add to the containers + # -- Labels to add to the containers containerLabels: {} - # -- additional volumeMounts to the postgresql container + # -- Additional volumeMounts to the postgresql container extraVolumeMounts: [] - # -- additional containers to start within the postgresql pod + # -- Additional containers to start within the postgresql pod extraContainers: [] - # -- additional init containers to start within the postgresql pod + # -- Additional init containers to start within the postgresql pod extraInitContainers: [] - # -- additional volumes to make available to the postgresql pod + # -- Additional volumes to make available to the postgresql pod extraVolumes: [] - # -- additional specifications to the postgresql pod + # -- Additional specifications to the postgresql pod extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} @@ -302,27 +302,27 @@ zabbixProxy: # metallb.universe.tf/address-pool: production-public-ips # -- Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/proxy-sqlite3/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml extraEnv: [] - # -- annotations to add to the statefulset + # -- Annotations to add to the statefulset statefulSetAnnotations: {} - # -- labels to add to the statefulset + # -- Labels to add to the statefulset statefulSetLabels: {} - # -- annotations to add to the containers + # -- Annotations to add to the containers containerAnnotations: {} - # -- labels to add to the containers + # -- Labels to add to the containers containerLabels: {} - # -- additional volumeMounts to the Zabbix Proxy container + # -- Additional volumeMounts to the Zabbix Proxy container extraVolumeMounts: [] - # -- additional containers to start within the Zabbix Proxy pod + # -- Additional containers to start within the Zabbix Proxy pod extraContainers: [] - # -- additional init containers to start within the Zabbix Proxy pod + # -- Additional init containers to start within the Zabbix Proxy pod extraInitContainers: [] - # -- additional volumes to make available to the Zabbix Proxy pod + # -- Additional volumes to make available to the Zabbix Proxy pod extraVolumes: [] - # -- additional specifications to the Zabbix Proxy pod + # -- Additional specifications to the Zabbix Proxy pod extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} - # -- extra volumeClaimTemplate for zabbixProxy statefulset + # -- Extra volumeClaimTemplate for zabbixProxy statefulset extraVolumeClaimTemplate: [] # -- The kubelet uses liveness probes to know when to restart a container. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ livenessProbe: {} @@ -387,25 +387,25 @@ zabbixAgent: hostRootFsMount: true # -- Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/agent2/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml extraEnv: [] - # -- additional volumeMounts to the zabbix Agent container + # -- Additional volumeMounts to the zabbix Agent container extraVolumeMounts: [] - # -- annotations to add to the daemonSet + # -- Annotations to add to the daemonSet daemonSetAnnotations: {} - # -- labels to add to the daemonSet + # -- Labels to add to the daemonSet daemonSetLabels: {} - # -- labels to add to the deployment + # -- Labels to add to the deployment deploymentLabels: {} - # -- annotations to add to the containers + # -- Annotations to add to the containers containerAnnotations: {} - # -- labels to add to the containers + # -- Labels to add to the containers containerLabels: {} - # -- additional containers to start within the Zabbix Agent pod + # -- Additional containers to start within the Zabbix Agent pod extraContainers: [] - # -- additional init containers to start within the Zabbix Agent pod + # -- Additional init containers to start within the Zabbix Agent pod extraInitContainers: [] - # -- additional volumes to make available to the Zabbix Agent pod + # -- Additional volumes to make available to the Zabbix Agent pod extraVolumes: [] - # -- additional specifications to the Zabbix Agent pod + # -- Additional specifications to the Zabbix Agent pod extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} @@ -475,23 +475,23 @@ zabbixWeb: # value: '{"baseurl": "https://zabbix.example.com"}' #- name: ZBX_SERVER_NAME # value: Demo Zabbix - # -- annotations to add to the deployment + # -- Annotations to add to the deployment deploymentAnnotations: {} - # -- labels to add to the deployment + # -- Labels to add to the deployment deploymentLabels: {} - # -- annotations to add to the containers + # -- Annotations to add to the containers containerAnnotations: {} - # -- labels to add to the containers + # -- Labels to add to the containers containerLabels: {} - # -- additional volumeMounts to the Zabbix Web container + # -- Additional volumeMounts to the Zabbix Web container extraVolumeMounts: [] - # -- additional containers to start within the Zabbix Web pod + # -- Additional containers to start within the Zabbix Web pod extraContainers: [] - # -- additional init containers to start within the Zabbix Web pod + # -- Additional init containers to start within the Zabbix Web pod extraInitContainers: [] - # -- additional volumes to make available to the Zabbix Web pod + # -- Additional volumes to make available to the Zabbix Web pod extraVolumes: [] - # -- additional specifications to the Zabbix Web pod + # -- Additional specifications to the Zabbix Web pod extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} @@ -526,7 +526,7 @@ zabbixWebService: enabled: true # -- Number of replicas of ``zabbixWebService`` module replicaCount: 1 - # -- set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 + # -- Set permissive podAntiAffinity to spread replicas over cluster nodes if replicaCount>1 podAntiAffinity: true # -- Requests and limits of pod resources. See: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers) resources: {} @@ -539,7 +539,7 @@ zabbixWebService: pullPolicy: IfNotPresent # -- List of dockerconfig secrets names to use when pulling images pullSecrets: [] - # -- set the IgnoreURLCertErrors configuration setting of Zabbix Web Service + # -- Set the IgnoreURLCertErrors configuration setting of Zabbix Web Service #ignoreURLCertErrors=1 service: # -- Type of service for Zabbix Web @@ -553,23 +553,23 @@ zabbixWebService: # metallb.universe.tf/address-pool: production-public-ips # -- Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/web-service/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml extraEnv: [] - # -- annotations to add to the deployment + # -- Annotations to add to the deployment deploymentAnnotations: {} - # -- labels to add to the deployment + # -- Labels to add to the deployment deploymentLabels: {} - # -- annotations to add to the containers + # -- Annotations to add to the containers containerAnnotations: {} - # -- labels to add to the containers + # -- Labels to add to the containers containerLabels: {} - # -- additional volumeMounts to the Zabbix Web Service container + # -- Additional volumeMounts to the Zabbix Web Service container extraVolumeMounts: [] - # -- additional containers to start within the Zabbix Web Service pod + # -- Additional containers to start within the Zabbix Web Service pod extraContainers: [] - # -- additional init containers to start within the Zabbix Web Service pod + # -- Additional init containers to start within the Zabbix Web Service pod extraInitContainers: [] - # -- additional volumes to make available to the Zabbix Web Service pod + # -- Additional volumes to make available to the Zabbix Web Service pod extraVolumes: [] - # -- additional specifications to the Zabbix Web Service pod + # -- Additional specifications to the Zabbix Web Service pod extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} @@ -627,23 +627,23 @@ zabbixJavaGateway: # metallb.universe.tf/address-pool: production-public-ips # -- Extra environment variables. A list of additional environment variables. List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/6.0/Dockerfiles/agent2/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/master/charts/zabbix/docs/example/kind/values.yaml extraEnv: [] - # -- additional volumeMounts to the Zabbix Java Gateway container + # -- Additional volumeMounts to the Zabbix Java Gateway container extraVolumeMounts: [] - # -- annotations to add to the deployment + # -- Annotations to add to the deployment deploymentAnnotations: {} - # -- labels to add to the deployment + # -- Labels to add to the deployment deploymentLabels: {} - # -- annotations to add to the containers + # -- Annotations to add to the containers containerAnnotations: {} - # -- labels to add to the containers + # -- Labels to add to the containers containerLabels: {} - # -- additional containers to start within the Zabbix Java Gateway pod + # -- Additional containers to start within the Zabbix Java Gateway pod extraContainers: [] - # -- additional init containers to start within the Zabbix Java Gateway pod + # -- Additional init containers to start within the Zabbix Java Gateway pod extraInitContainers: [] - # -- additional volumes to make available to the Zabbix Java Gateway pod + # -- Additional volumes to make available to the Zabbix Java Gateway pod extraVolumes: [] - # -- additional specifications to the Zabbix Java Gateway pod + # -- Additional specifications to the Zabbix Java Gateway pod extraPodSpecs: {} # -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} @@ -842,7 +842,7 @@ serviceAccount: automountServiceAccountToken: true rbac: - # -- Specifies whether the RBAC resources should be created + # -- Specifies whether the RBAC resources should be created create: true additionalRulesForClusterRole: [] # - apiGroups: [ "" ]