Skip to content

Commit

Permalink
Merge pull request #96 from aeciopires/zabbix-7-aecio
Browse files Browse the repository at this point in the history
Zabbix 7 aecio
  • Loading branch information
aeciopires authored Jun 4, 2024
2 parents e9ec1a9 + f07fe59 commit a649901
Show file tree
Hide file tree
Showing 18 changed files with 162 additions and 147 deletions.
4 changes: 2 additions & 2 deletions charts/zabbix/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
apiVersion: v2 # Don't change this
name: zabbix
version: 4.4.1 # helm chart version
version: 5.0.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.30 # zabbix version
appVersion: 7.0.0 # 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
Expand Down
2 changes: 1 addition & 1 deletion charts/zabbix/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#---------------------------

URL=https://github.com/zabbix-community/helm-zabbix/
HELM_IMAGE=alpine/helm:3.14.3
HELM_IMAGE=alpine/helm:3.15.1
HELM_DOCS_IMAGE=jnorwood/helm-docs:v1.13.1
KNOWN_TARGETS=helm

Expand Down
17 changes: 11 additions & 6 deletions charts/zabbix/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 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.4.1](https://img.shields.io/badge/Version-4.4.1-informational?style=flat-square) [![Downloads](https://img.shields.io/github/downloads/zabbix-community/helm-zabbix/total?label=Downloads%20All%20Releases
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 5.0.0](https://img.shields.io/badge/Version-5.0.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.
Expand Down Expand Up @@ -43,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.4.1'
export ZABBIX_CHART_VERSION='5.0.0'
```

Export default values of ``zabbix`` chart to ``$HOME/zabbix_values.yaml`` file:
Expand Down Expand Up @@ -141,6 +141,11 @@ helm uninstall zabbix -n monitoring

# Breaking changes of this helm chart

## Version 5.0.0

* Will be used Postgresql 16.x and Zabbix 7.x.
* Adjust in extraEnv to add support in environment variables from configmap and secret. More info: #93

## Version 4.0.0

* Will be used Postgresql 15.x and Zabbix 6.x.
Expand Down Expand Up @@ -343,7 +348,7 @@ The following tables lists the configurable parameters of the chart and their de
| 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.image.tag | int | `16` | Tag of Docker image of Postgresql server, choice "16" for postgres "2.14.2-pg16" for timescaledb (Zabbix supports TimescaleDB 2.1.0-2.14.x. More info: https://www.zabbix.com/documentation/7.0/en/manual/installation/requirements) |
| 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 |
Expand Down Expand Up @@ -413,7 +418,7 @@ The following tables lists the configurable parameters of the chart and their de
| zabbixAgent.service.type | string | `"ClusterIP"` | Type of service to expose the application. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. More details: https://kubernetes.io/docs/concepts/services-networking/service/ |
| 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.30"` | 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). |
| zabbixImageTag | string | `"ubuntu-7.0.0"` | 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: 7.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.4.x), you have to set this yourself. You can change version here or overwrite in each component (example: zabbixserver.image.tag, etc). |
| 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 |
Expand Down Expand Up @@ -502,7 +507,7 @@ The following tables lists the configurable parameters of the chart and their de
| 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 | object | `{"concurrencyPolicy":"Replace","cronjobLabels":{},"deleteOlderThanSeconds":3600,"enabled":true,"extraContainers":[],"extraEnv":[],"extraInitContainers":[],"extraPodSpecs":{},"extraVolumeMounts":[],"extraVolumes":[],"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"postgres","tag":16},"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.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. |
Expand All @@ -511,7 +516,7 @@ The following tables lists the configurable parameters of the chart and their de
| 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.image.tag | int | `16` | Tag of Docker image of Postgresql server, choice "16" for postgres "2.14.2-pg16" for timescaledb (Zabbix supports TimescaleDB 2.1.0-2.14.x. More info: https://www.zabbix.com/documentation/7.0/en/manual/installation/requirements) |
| 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 |
Expand Down
7 changes: 6 additions & 1 deletion charts/zabbix/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -44,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.4.1'
export ZABBIX_CHART_VERSION='5.0.0'
```

Export default values of ``zabbix`` chart to ``$HOME/zabbix_values.yaml`` file:
Expand Down Expand Up @@ -142,6 +142,11 @@ helm uninstall zabbix -n monitoring

# Breaking changes of this helm chart

## Version 5.0.0

* Will be used Postgresql 16.x and Zabbix 7.x.
* Adjust in extraEnv to add support in environment variables from configmap and secret. More info: #93

## Version 4.0.0

* Will be used Postgresql 15.x and Zabbix 6.x.
Expand Down
8 changes: 4 additions & 4 deletions charts/zabbix/artifacthub-pkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.4.1 # helm chart version
version: 5.0.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.30 # zabbix version
appVersion: 7.0.0 # zabbix version
name: zabbix
category: monitoring, networking, metrics
displayName: Zabbix - The Enterprise-Class Open Source Network Monitoring Solution
createdAt: 2024-05-22T01:57:26Z # Command Linux: 2024-05-26T15:59:35Z
createdAt: 2024-06-04T09:08:16Z # 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
Expand Down Expand Up @@ -53,7 +53,7 @@ install: |
Set the helm chart version you want to use. Example:
```bash
export ZABBIX_CHART_VERSION='4.4.1'
export ZABBIX_CHART_VERSION='5.0.0'
```
Export default values of ``zabbix`` chart to ``$HOME/zabbix_values.yaml`` file:
Expand Down
60 changes: 49 additions & 11 deletions charts/zabbix/docs/example/kind/values.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Custom values for zabbix.

zabbixImageTag: 6.4.15-alpine
zabbixImageTag: alpine-7.0.0

postgresAccess:
useUnifiedSecret: true
Expand All @@ -16,11 +16,10 @@ zabbixServer:
# Postgresql Docker image name: chose one of "postgres" or "timescale/timescaledb"
repository: postgres
#repository: timescale/timescaledb
# 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.4/en/manual/installation/requirements)
# Added support for PostgreSQL versions 15.x since Zabbix 6.0.10
tag: 15
#tag: 2.11.1-pg15
# -- Tag of Docker image of Postgresql server, choice "16" for postgres "2.14.2-pg16" for timescaledb
# (Zabbix supports TimescaleDB 2.1.0-2.14.x. More info: https://www.zabbix.com/documentation/7.0/en/manual/installation/requirements)
tag: 16
#tag: 2.14.2-pg16
service:
type: NodePort
port: 10051
Expand All @@ -32,6 +31,16 @@ zabbixServer:
value: "false"
- name: "ZBX_EXAMPLE_MY_ENV_3"
value: "100"
- name: MY_USERNAME
valueFrom:
secretKeyRef:
name: my-envs
key: user
- name: MY_PASSWORD
valueFrom:
secretKeyRef:
name: my-envs
key: password
# Example of readinessProbe when zabbix-server has two or more replicas in HA mode
# readinessProbe:
# exec:
Expand All @@ -52,11 +61,10 @@ postgresql:
# Postgresql Docker image name: chose one of "postgres" or "timescale/timescaledb"
repository: postgres
#repository: timescale/timescaledb
# 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.4/en/manual/installation/requirements)
# Added support for PostgreSQL versions 15.x since Zabbix 6.0.10
tag: 15
#tag: 2.10.3-pg15
# -- Tag of Docker image of Postgresql server, choice "16" for postgres "2.14.2-pg16" for timescaledb
# (Zabbix supports TimescaleDB 2.1.0-2.14.x. More info: https://www.zabbix.com/documentation/7.0/en/manual/installation/requirements)
tag: 16
#tag: 2.14.2-pg16
max_connections: 100
persistence:
enabled: true
Expand Down Expand Up @@ -86,6 +94,16 @@ zabbixProxy:
value: "false"
- name: "ZBX_EXAMPLE_MY_ENV_6"
value: "100"
- name: MY_USERNAME
valueFrom:
secretKeyRef:
name: my-envs
key: user
- name: MY_PASSWORD
valueFrom:
secretKeyRef:
name: my-envs
key: password

zabbixAgent:
enabled: true
Expand All @@ -107,6 +125,16 @@ zabbixAgent:
value: "false"
- name: "ZBX_EXAMPLE_MY_ENV_9"
value: "100"
- name: MY_USERNAME
valueFrom:
secretKeyRef:
name: my-envs
key: user
- name: MY_PASSWORD
valueFrom:
secretKeyRef:
name: my-envs
key: password

zabbixWeb:
enabled: true
Expand All @@ -122,6 +150,16 @@ zabbixWeb:
value: "false"
- name: "ZBX_EXAMPLE_MY_ENV_12"
value: "100"
- name: MY_USERNAME
valueFrom:
secretKeyRef:
name: my-envs
key: user
- name: MY_PASSWORD
valueFrom:
secretKeyRef:
name: my-envs
key: password

ingress:
enabled: true
Expand Down
Loading

0 comments on commit a649901

Please sign in to comment.