See the charts/zabbix/README.md file to learn more about this helm chart or access Artifact Hub.
This Helm chart installs Zabbix in a Kubernetes cluster. It supports only Postgresql/TimescaleDB as a database backend at this point in time, without any plans to extend database support towards MySQL, MariaDB, etc. Also, this Helm Chart supports Zabbix Server High Availability
See the CONTRIBUTING.md file to learn how to contribute to this helm chart.
See the charts/zabbix/docs/example/README.md file to install this helm chart in kind cluster.
- Open issue, bug or feature request: https://github.com/zabbix-community/helm-zabbix/issues
- Ask help: https://github.com/zabbix-community/helm-zabbix/discussions
- Releases and Changelog: https://github.com/zabbix-community/helm-zabbix/releases
- Artifact Hub: https://artifacthub.io/packages/helm/zabbix-community/zabbix
- Closed issues: https://github.com/zabbix-community/helm-zabbix/issues?q=is%3Aissue+is%3Aclosed
- Closed PRs: https://github.com/zabbix-community/helm-zabbix/pulls?q=is%3Apr+is%3Aclosed
- Download statistics: https://somsubhra.github.io/github-release-stats/?username=zabbix-community&repository=helm-zabbix&page=1&per_page=500#
- Presentations:
- Official page: https://www.zabbix.com
- Documentation: https://www.zabbix.com/manuals
- Community support: https://www.zabbix.com/forum
- Community templates: https://github.com/zabbix-community/community-templates
- Open issues: https://support.zabbix.com/projects/ZBX/issues/ZBX-25876?filter=allopenissues
- Open feature requests: https://support.zabbix.com/projects/ZBXNEXT/issues/ZBXNEXT-8875?filter=allopenissues
.
├── charts
│ └── zabbix # The Helm chart itself
│ ├── docs
│ │ ├── example
│ │ │ ├── kind
│ │ │ │ └── values.yaml # Example values.yaml to install this chart in a kind cluster
│ │ │ └── README.md # Tutorial to install this chart in a kind cluster
│ │ ├── README.md # Index of docs
│ │ └── requirements.md # Requirements to develop/test this chart
│ ├── templates # Kubernetes manifests (Go templates), one file per kind/component
│ │ ├── tests
│ │ │ ├── test-server-connection.yaml # helm test: checks Zabbix Server connectivity
│ │ │ └── test-web-connection.yaml # helm test: checks Zabbix Web connectivity
│ │ ├── clusterrole-binding.yaml
│ │ ├── clusterrole.yaml
│ │ ├── cronjob-hanodes-autoclean.yaml # Cleans up stale Zabbix Server HA nodes
│ │ ├── daemonset-zabbix-agent.yaml
│ │ ├── deployment-webdriver.yaml
│ │ ├── deployment-zabbix-java-gateway.yaml
│ │ ├── deployment-zabbix-server.yaml
│ │ ├── deployment-zabbix-webservice.yaml
│ │ ├── deployment-zabbix-web.yaml
│ │ ├── extra-manifests.yaml # Renders arbitrary manifests from .Values.extraManifests
│ │ ├── _helpers.tpl # Shared template helpers/macros (labels, names, DB env vars, etc.)
│ │ ├── ingress.yaml
│ │ ├── job-create-upgrade-db.yaml # Pre-install/pre-upgrade hook Job that prepares/migrates the DB schema
│ │ ├── NOTES.txt # Post-install usage notes shown by helm
│ │ ├── rolebinding-ha-helper.yaml
│ │ ├── role-ha-helper.yaml
│ │ ├── secret-db-access.yaml
│ │ ├── serviceaccount-ha-helper.yaml
│ │ ├── serviceaccount.yaml
│ │ ├── service.yaml
│ │ ├── statefulset-postgresql.yaml
│ │ └── statefulset-zabbix-proxy.yaml
│ ├── artifacthub-pkg.yml # Artifact Hub metadata
│ ├── artifacthub-repo.yml # Artifact Hub repository metadata
│ ├── Chart.yaml # Chart name, version and appVersion
│ ├── Makefile # Dockerized helm/helm-docs targets: lint, package, gen-docs
│ ├── README.md # Generated chart documentation (do not edit directly)
│ ├── README.md.gotmpl # Source template used to generate README.md via helm-docs
│ └── values.yaml # Chart default configuration values
├── .github
│ ├── ISSUE_TEMPLATE
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ ├── workflows
│ │ ├── helm-chart-releaser.yml # Publishes chart releases on tag push
│ │ └── tests.yaml # Lints and tests the chart against kind clusters
│ ├── CODEOWNERS
│ ├── dependabot.yml
│ └── PULL_REQUEST_TEMPLATE.md
├── CLAUDE.md # Guidance for Claude Code when working in this repository
├── CONTRIBUTING.md # How to contribute and how to release new chart versions
├── HISTORY.md # Repository history
├── LICENSE
└── README.md # This file
Publishing a new version of this Helm chart is restricted to the code maintainers (see CONTRIBUTING.md for the full step-by-step, including exact commands). At a high level:
- The
versionfield incharts/zabbix/Chart.yamlfollows amajor.minor.patchconvention where, in practice, only the last two digits are used: amajor("dot-release", e.g.6.0.2→6.1.0) signals a change that may require users to update theirvalues.yaml, and aminor("dot-dot-release", e.g.6.0.2→6.0.3) is a safe, no-API-change upgrade. - Bumping
version/appVersioninChart.yamlandartifacthub-pkg.yml, and regeneratingcharts/zabbix/README.mdviamake gen-docs, only happens on the release branch/PR, right before merging tomain. - A release is actually cut by pushing a git tag (
x.y.z) to the upstream repository, which triggers .github/workflows/helm-chart-releaser.yml to package and publish the chart as a GitHub Release namedzabbix-x.y.z.
flowchart TD
A[Review and merge open PRs into main] --> B[Create a release branch]
B --> C["Run local tests (cd charts/zabbix && make lint)"]
C --> D["Bump version/appVersion in Chart.yaml and artifacthub-pkg.yml"]
D --> E["Update zabbixImageTag in values.yaml"]
E --> F["Update createdAt in artifacthub-pkg.yml"]
F --> G["Update ZABBIX_CHART_VERSION in artifacthub-pkg.yml and README.md.gotmpl"]
G --> H["cd charts/zabbix && make gen-docs"]
H --> I[Commit and push the release branch]
I --> J[Open Pull Request to main]
J --> K{Reviewer requests changes?}
K -- Yes --> D
K -- No --> L[Merge Pull Request into main]
L --> M["Sync local main (git pull upstream main)"]
M --> N["Create annotated tag (git tag -a x.y.z -m 'New release')"]
N --> O["Push tag (git push upstream --tags)"]
O --> P["helm-chart-releaser.yml workflow runs"]
P --> Q["chart-releaser packages the chart and publishes GitHub Release 'zabbix-x.y.z'"]
Q --> R[Edit and adjust the auto-generated release notes on GitHub]
Made with contrib.rocks.
See the HISTORY.md file.