feat(zabbix): rework (#4046)

* feat(zabbix): rework

* finish web

* add some server vars

* add agent

* volume web

* lots of rework

* adjust persistence

* identation

* lint

* fix few things

* update common.yaml

* lint

* one more

* lets begin one by one

* fix typo

* fix some potential empty value

* fix java port

* fix some more emty values

* fix some ints in configmap and rename to frontend

* Add a lower default

* adjust some probes and fix configmap

* add 2 hostpaths to zabbix agent

* some more configmap fixes

* increase some sizes

* add probes

* hmm

* whops

* disable this env

* one more

* remove passive and active servers

* move somethings

* test different user

* enable java

* enable snmp

* enable webservice

* add services and volumes

* add javagw webservice and snmp questions

* add agent questions and remove some that don't apply

* add webui questions

* add some server questions

* add server questions

* remove todos

* rename to zabbix. as it;s not only the server
This commit is contained in:
Stavros Kois 2022-10-16 23:05:54 +03:00 committed by GitHub
parent 30931c9126
commit aaacea6d1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 1809 additions and 1197 deletions

View File

@ -1,580 +0,0 @@
# Changelog
## [zabbix-server-2.0.49](https://github.com/truecharts/charts/compare/zabbix-server-2.0.48...zabbix-server-2.0.49) (2022-10-12)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major ([#4071](https://github.com/truecharts/charts/issues/4071))
## [zabbix-server-2.0.48](https://github.com/truecharts/charts/compare/zabbix-server-2.0.47...zabbix-server-2.0.48) (2022-10-07)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major
## [zabbix-server-2.0.48](https://github.com/truecharts/charts/compare/zabbix-server-2.0.47...zabbix-server-2.0.48) (2022-10-07)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major
## [zabbix-server-2.0.47](https://github.com/truecharts/charts/compare/zabbix-server-2.0.46...zabbix-server-2.0.47) (2022-10-05)
### Chore
- split addons in smaller templates ([#3979](https://github.com/truecharts/charts/issues/3979))
- update helm general non-major
## [zabbix-server-2.0.45](https://github.com/truecharts/charts/compare/zabbix-server-2.0.44...zabbix-server-2.0.45) (2022-09-27)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major ([#3918](https://github.com/truecharts/charts/issues/3918))
## [zabbix-server-2.0.44](https://github.com/truecharts/charts/compare/zabbix-server-2.0.43...zabbix-server-2.0.44) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major ([#3898](https://github.com/truecharts/charts/issues/3898))
## [zabbix-server-2.0.43](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.43) (2022-09-22)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update docker general non-major ([#3839](https://github.com/truecharts/charts/issues/3839))
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.43](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.43) (2022-09-22)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update docker general non-major ([#3839](https://github.com/truecharts/charts/issues/3839))
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-21)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-20)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-20)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-19)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-19)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-19)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-17)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-18)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-16)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-16)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-15)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.42](https://github.com/truecharts/charts/compare/zabbix-server-2.0.41...zabbix-server-2.0.42) (2022-09-15)
### Chore
- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [zabbix-server-2.0.41](https://github.com/truecharts/charts/compare/zabbix-server-2.0.39...zabbix-server-2.0.41) (2022-09-13)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major ([#3756](https://github.com/truecharts/charts/issues/3756))
- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711))
## [zabbix-server-2.0.40](https://github.com/truecharts/charts/compare/zabbix-server-2.0.39...zabbix-server-2.0.40) (2022-09-12)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711))
## [zabbix-server-2.0.40](https://github.com/truecharts/charts/compare/zabbix-server-2.0.39...zabbix-server-2.0.40) (2022-09-12)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711))
## [zabbix-server-2.0.40](https://github.com/truecharts/charts/compare/zabbix-server-2.0.39...zabbix-server-2.0.40) (2022-09-11)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711))
## [zabbix-server-2.0.40](https://github.com/truecharts/charts/compare/zabbix-server-2.0.39...zabbix-server-2.0.40) (2022-09-11)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711))
## [zabbix-server-2.0.40](https://github.com/truecharts/charts/compare/zabbix-server-2.0.39...zabbix-server-2.0.40) (2022-09-11)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711))
## [zabbix-server-2.0.40](https://github.com/truecharts/charts/compare/zabbix-server-2.0.39...zabbix-server-2.0.40) (2022-09-11)
### Chore
- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711))
## [zabbix-server-2.0.39](https://github.com/truecharts/charts/compare/zabbix-server-2.0.38...zabbix-server-2.0.39) (2022-09-01)
### Chore
- update docker general non-major ([#3649](https://github.com/truecharts/charts/issues/3649))
## [zabbix-server-2.0.38](https://github.com/truecharts/charts/compare/zabbix-server-2.0.36...zabbix-server-2.0.38) (2022-08-30)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639))
- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626))
## [zabbix-server-2.0.37](https://github.com/truecharts/charts/compare/zabbix-server-2.0.36...zabbix-server-2.0.37) (2022-08-30)
### Chore
- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626))
## [zabbix-server-2.0.36](https://github.com/truecharts/charts/compare/zabbix-server-2.0.34...zabbix-server-2.0.36) (2022-08-29)
### Chore
- update helm general non-major ([#3621](https://github.com/truecharts/charts/issues/3621))
- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619))
## [zabbix-server-2.0.34](https://github.com/truecharts/charts/compare/zabbix-server-2.0.32...zabbix-server-2.0.34) (2022-08-26)
### Fix
- some cleanup ([#3586](https://github.com/truecharts/charts/issues/3586))
## [zabbix-server-2.0.32](https://github.com/truecharts/charts/compare/zabbix-server-2.0.31...zabbix-server-2.0.32) (2022-08-23)
### Chore
- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545))
## [zabbix-server-2.0.31](https://github.com/truecharts/charts/compare/zabbix-server-2.0.30...zabbix-server-2.0.31) (2022-08-17)
### Chore
- update helm general non-major helm releases ([#3484](https://github.com/truecharts/charts/issues/3484))
## [zabbix-server-2.0.30](https://github.com/truecharts/charts/compare/zabbix-server-2.0.29...zabbix-server-2.0.30) (2022-08-14)
### Chore
- update docker general non-major docker tags ([#3465](https://github.com/truecharts/charts/issues/3465))
## [zabbix-server-2.0.29](https://github.com/truecharts/charts/compare/zabbix-server-2.0.28...zabbix-server-2.0.29) (2022-08-12)
### Chore
- add documentation checkbox/section to all SCALE Apps
- update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456))
### Fix
- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447))
## [zabbix-server-2.0.28](https://github.com/truecharts/charts/compare/zabbix-server-2.0.27...zabbix-server-2.0.28) (2022-08-09)
### Chore
- update helm general non-major helm releases to v10.4.9 ([#3413](https://github.com/truecharts/charts/issues/3413))
## [zabbix-server-2.0.27](https://github.com/truecharts/charts/compare/zabbix-server-2.0.26...zabbix-server-2.0.27) (2022-08-08)
### Chore
- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376))
- replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402))
## [zoneminder-0.0.14](https://github.com/truecharts/apps/compare/zoneminder-0.0.13...zoneminder-0.0.14) (2022-07-26)
### Chore
- update home links ([#3291](https://github.com/truecharts/apps/issues/3291))
- update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302))
## [zoneminder-0.0.13](https://github.com/truecharts/apps/compare/zoneminder-0.0.12...zoneminder-0.0.13) (2022-07-25)
### Chore
- update docker general non-major ([#3300](https://github.com/truecharts/apps/issues/3300))
### Chore
- add fake digest to new incubator Apps to fetch digests
## [zoneminder-0.0.12](https://github.com/truecharts/apps/compare/zoneminder-0.0.11...zoneminder-0.0.12) (2022-07-23)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
## [zoneminder-0.0.12](https://github.com/truecharts/apps/compare/zoneminder-0.0.11...zoneminder-0.0.12) (2022-07-23)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
## [zoneminder-0.0.12](https://github.com/truecharts/apps/compare/zoneminder-0.0.11...zoneminder-0.0.12) (2022-07-23)
### Chore
- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
## [zoneminder-0.0.11]zoneminder-0.0.11 (2022-07-22)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Bump all charts to generate config and container references due to huge increase of repository
- Move Dev to incubator and some cleanup
## [zoneminder-0.0.10]zoneminder-0.0.10 (2022-07-22)
### Chore
- Auto-update chart README [skip ci]
- Move Dev to incubator and some cleanup
## [zoneminder-0.0.10]zoneminder-0.0.10 (2022-07-22)
### Chore
- Move Dev to incubator and some cleanup

View File

@ -1,108 +0,0 @@
# zabbix-server
Zabbix is an enterprise-class open source distributed monitoring solution.
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
For more information, please click here: [zabbix-server](https://truecharts.org/docs/charts/incubator/zabbix-server)
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
## Source Code
* <https://github.com/truecharts/charts/tree/master/charts/incubator/zabbix-server>
* <https://hub.docker.com/r/zabbix/zabbix-server-pgsql>
* <https://hub.docker.com/r/zabbix/zabbix-web-nginx-pgsql>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://charts.truecharts.org/ | postgresql | 8.0.97 |
| https://library-charts.truecharts.org | common | 10.7.0 |
## Installing the Chart
### TrueNAS SCALE
To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Installing-an-App).
### Helm
To install the chart with the release name `zabbix-server`
```console
helm repo add TrueCharts https://charts.truecharts.org
helm repo update
helm install zabbix-server TrueCharts/zabbix-server
```
## Uninstall
### TrueNAS SCALE
**Upgrading, Rolling Back and Uninstalling the Chart**
To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Upgrade-rollback-delete-an-App).
### Helm
To uninstall the `zabbix-server` deployment
```console
helm uninstall zabbix-server
```
## Configuration
### Helm
#### Available Settings
Read through the values.yaml file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
#### Configure using the command line
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install zabbix-server \
--set env.TZ="America/New York" \
TrueCharts/zabbix-server
```
#### Configure using a yaml file
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install zabbix-server TrueCharts/zabbix-server -f values.yaml
```
#### Connecting to other charts
If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/linking-apps) quick-start guide.
## Support
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Important-MUST-READ).
- See the [Website](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
---
## Sponsor TrueCharts
TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
---
All Rights Reserved - The TrueCharts Project

View File

@ -1,271 +0,0 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{controller}
# Include{controllerDeployment}
# Include{replicas}
# Include{replica1}
# Include{strategy}
# Include{recreate}
# Include{controllerExpert}
# Include{controllerExpertExtraArgs}
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: ZBX_LOADMODULE
label: "ZBX_LOADMODULE"
description: "The variable is list of comma separated loadable Zabbix modules. It works with volume /var/lib/zabbix/modules. The syntax of the variable is dummy1.so,dummy2.so."
schema:
type: string
default: ""
- variable: ZBX_TIMEOUT
label: "ZBX_TIMEOUT"
description: "The variable is used to specify timeout for processing checks. By default, value is 4."
schema:
type: int
default: 4
- variable: frontendConfig
group: "Container Configuration"
label: "Web Frontend Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: ZBX_SERVER_NAME
label: "ZBX_SERVER_NAME"
description: "The variable is visible Zabbix installation name in right top corner of the web interface."
schema:
type: string
default: "Zabbix Instance"
- variable: ZBX_GUI_WARNING_MSG
label: "ZBX_GUI_WARNING_MSG"
description: "Zabbix instance is currently in maintenance."
schema:
type: string
default: "Zabbix Instance"
- variable: ZBX_DENY_GUI_ACCESS
label: "ZBX_DENY_GUI_ACCESS"
description: "Enable (true) maintenance mode for Zabbix web-interface."
schema:
type: boolean
default: false
- variable: ZBX_GUI_ACCESS_IP_RANGE
label: "ZBX_GUI_ACCESS_IP_RANGE"
description: "Array of IP addresses which are allowed for accessing to Zabbix web-interface during maintenance period."
schema:
type: string
default: ""
- variable: ZBX_MEMORYLIMIT
label: "ZBX_MEMORYLIMIT"
description: "The varable is PHP memory_limit option. By default, value is 128M."
schema:
type: string
default: "128M"
- variable: ZBX_POSTMAXSIZE
label: "ZBX_POSTMAXSIZE"
description: "The varable is PHP post_max_size option. By default, value is 16M."
schema:
type: string
default: "16M"
- variable: ZBX_UPLOADMAXFILESIZE
label: "ZBX_UPLOADMAXFILESIZE"
description: "The varable is PHP upload_max_filesize option. By default, value is 2M."
schema:
type: string
default: "2M"
- variable: ZBX_MAXEXECUTIONTIME
label: "ZBX_MAXEXECUTIONTIME"
description: "The varable is PHP max_execution_time option. By default, value is 300."
schema:
type: int
default: 300
- variable: ZBX_MAXINPUTTIME
label: "ZBX_MAXINPUTTIME"
description: "The varable is PHP max_input_time option. By default, value is 300."
schema:
type: int
default: 300
# Include{containerConfig}
# Include{serviceRoot}
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: main
label: "Main Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10211
required: true
# Include{advancedPortHTTP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 8080
- variable: server
label: "Server Service"
description: "The Server Service"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: server
label: "Server Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10212
required: true
# Include{advancedPortHTTP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 10051
- variable: snmptraps
label: "SNMP Traps Service"
description: "SNMP Traps Service"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: snmptraps
label: "SNMP Traps Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 162
required: true
# Include{advancedPortHTTP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 1162
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: snmptraps
label: "App snmptraps Storage"
description: "Stores the Application snmptraps."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
- variable: server
label: "Server Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: false
# Include{securityContextAdvanced}
# Include{podSecurityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID this App of the user running the application"
schema:
type: int
default: 0
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
# Include{codeserver}
# Include{promtail}
# Include{netshoot}
# Include{vpn}
# Include{documentation}

View File

@ -1 +0,0 @@
{{ include "tc.common.loader.all" . }}

View File

@ -1,235 +0,0 @@
image:
repository: tccr.io/truecharts/zabbix-server
tag: 6.2.3@sha256:8047806dbb02b779c1fa4dc47f96bc02f35836800ee21a260ccf2e88928c6e97
pullPolicy: IfNotPresent
frontImage:
repository: tccr.io/truecharts/zabbix-web
tag: 6.2.3@sha256:b58cdcfe7ab5d8d80b46f6766aea7f44f5ce2ac8c80ecf0c5450e206fd692e1d
pullPolicy: IfNotPresent
snmptrapsImage:
repository: tccr.io/truecharts/zabbix-snmptraps
tag: 6.2.3@sha256:46142f4717a8e8f27da16a82690a62f6bbb18dc5db423610faec53cedf7db8fe
pullPolicy: IfNotPresent
tty: true
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
env:
DB_SERVER_PORT: 5432
POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}"
POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}"
ZBX_WEBSERVICEURL: "http://localhost:8080/report"
ZBX_ENABLE_SNMP_TRAPS: true
# User Defined
ZBX_LOADMODULE: ""
ZBX_TIMEOUT: 4
POSTGRES_PASSWORD:
secretKeyRef:
name: dbcreds
key: postgresql-password
DB_SERVER_HOST:
secretKeyRef:
name: dbcreds
key: plainhost
service:
main:
ports:
main:
port: 10211
targetPort: 8080
server:
enabled: true
ports:
server:
enabled: true
port: 10212
targetPort: 10051
snmptraps:
enabled: true
ports:
snmptraps:
protocol: UDP
enabled: true
port: 162
targetPort: 1162
probes:
liveness:
custom: true
spec:
exec:
command:
- /bin/bash
- -ec
- "until zabbix_server -R ha_status; do sleep 2; done"
readiness:
custom: true
spec:
exec:
command:
- /bin/bash
- -ec
- "until zabbix_server -R ha_status; do sleep 2; done"
startup:
custom: true
spec:
exec:
command:
- /bin/bash
- -ec
- "until zabbix_server -R ha_status; do sleep 2; done"
frontendConfig:
ZBX_SERVER_NAME: "My Zabbix Instance"
ZBX_MAXEXECUTIONTIME: 300
ZBX_MEMORYLIMIT: "128M"
ZBX_POSTMAXSIZE: "16M"
ZBX_UPLOADMAXFILESIZE: "2M"
ZBX_MAXINPUTTIME: 300
ZBX_DENY_GUI_ACCESS: false
ZBX_GUI_ACCESS_IP_RANGE: ""
ZBX_GUI_WARNING_MSG: "My Zabbix instance is currently in maintenance"
additionalContainers:
# agent:
# name: agent
# image: "{{ .Values.agentImage.repository }}:{{ .Values.agentImage.tag }}"
# env:
# - name: ZBX_HOSTNAME
# value: "{{ .Release.Name }}-{{ randAlphaNum 5 }}"
# - name: ZBX_SERVER_HOST
# value: "localhost"
# - name: ZBX_SERVER_PORT
# value: "{{ .Values.service.server.ports.server.targetPort }}"
snmptraps:
name: snmptraps
image: "{{ .Values.snmptrapsImage.repository }}:{{ .Values.snmptrapsImage.tag }}"
volumeMounts:
- name: snmptraps
mountPath: "/var/lib/zabbix/snmptraps"
front:
name: front
image: "{{ .Values.frontImage.repository }}:{{ .Values.frontImage.tag }}"
ports:
- containerPort: 8080
name: main
livenessProbe:
httpGet:
path: "/"
port: 8080
readinessProbe:
httpGet:
path: "/"
port: 8080
startupProbe:
httpGet:
path: "/"
port: 8080
env:
- name: ZBX_SERVER_HOST
value: "localhost"
- name: ZBX_SERVER_PORT
value: "{{ .Values.service.server.ports.server.targetPort }}"
- name: POSTGRES_DB
value: "{{ .Values.postgresql.postgresqlDatabase }}"
- name: POSTGRES_USER
value: "{{ .Values.postgresql.postgresqlUsername }}"
- name: DB_SERVER_PORT
value: "{{ .Values.env.DB_SERVER_PORT }}"
- name: PHP_TZ
value: "{{ .Values.TZ }}"
# History storage HTTP[S] URL. This parameter is used for Elasticsearch setup.
# - name: ZBX_HISTORYSTORAGEURL
# value: "ELASTICSEARCHURL"
# Array of value types to be sent to the history storage. An example: ['uint', 'dbl']. This parameter is used for Elasticsearch setup.
# - name: ZBX_HISTORYSTORAGETYPES
# value: "['uint', 'dbl']"
- name: DB_SERVER_HOST
valueFrom:
secretKeyRef:
name: dbcreds
key: plainhost
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: dbcreds
key: postgresql-password
# User Defined
- name: ZBX_SERVER_NAME
value: "{{ .Values.frontendConfig.ZBX_SERVER_NAME }}"
- name: ZBX_MAXEXECUTIONTIME
value: "{{ .Values.frontendConfig.ZBX_MAXEXECUTIONTIME }}"
- name: ZBX_MEMORYLIMIT
value: "{{ .Values.frontendConfig.ZBX_MEMORYLIMIT }}"
- name: ZBX_POSTMAXSIZE
value: "{{ .Values.frontendConfig.ZBX_POSTMAXSIZE }}"
- name: ZBX_UPLOADMAXFILESIZE
value: "{{ .Values.frontendConfig.ZBX_UPLOADMAXFILESIZE }}"
- name: ZBX_MAXINPUTTIME
value: "{{ .Values.frontendConfig.ZBX_MAXINPUTTIME }}"
- name: ZBX_DENY_GUI_ACCESS
value: "{{ .Values.frontendConfig.ZBX_DENY_GUI_ACCESS }}"
- name: ZBX_GUI_ACCESS_IP_RANGE
value: "{{ .Values.frontendConfig.ZBX_GUI_ACCESS_IP_RANGE }}"
- name: ZBX_GUI_WARNING_MSG
value: "{{ .Values.frontendConfig.ZBX_GUI_WARNING_MSG }}"
persistence:
# Shared
snmptraps:
enabled: true
mountPath: "/var/lib/zabbix/snmptraps"
# Server
# alertscripts:
# enabled: true
# mountPath: "/usr/lib/zabbix/alertscripts"
# externalscripts:
# enabled: true
# mountPath: "/usr/lib/zabbix/externalscripts"
# modules:
# enabled: true
# mountPath: "/var/lib/zabbix/modules"
# enc:
# enabled: true
# mountPath: "/var/lib/zabbix/enc"
# ssh_keys:
# enabled: true
# mountPath: "/var/lib/zabbix/ssh_keys"
# sslcerts:
# enabled: true
# mountPath: "/var/lib/zabbix/ssl/certs"
# sslkeys:
# enabled: true
# mountPath: "/var/lib/zabbix/ssl/keys"
# sslca:
# enabled: true
# mountPath: "/var/lib/zabbix/ssl/ssl_ca"
# mibs:
# enabled: true
# mountPath: "/var/lib/zabbix/mibs"
# export:
# enabled: true
# mountPath: "/var/lib/zabbix/export"
# SNMP-Traps
# snmp-mibs:
# enabled: true
# mountPath: "/var/lib/zabbix/mibs"
postgresql:
enabled: true
existingSecret: "dbcreds"
postgresqlUsername: zabbix
postgresqlDatabase: zabbix
portal:
enabled: true

View File

View File

@ -19,12 +19,12 @@ maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: zabbix-server
name: zabbix
sources:
- https://github.com/truecharts/charts/tree/master/charts/incubator/zabbix-server
- https://hub.docker.com/r/zabbix/zabbix-server-pgsql
- https://hub.docker.com/r/zabbix/zabbix-web-nginx-pgsql
version: 2.0.49
version: 1.0.0
annotations:
truecharts.org/catagories: |
- utilities

View File

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
{{- define "zabbix.agent2" -}}
image: {{ .Values.agent2Image.repository }}:{{ .Values.agent2Image.tag }}
imagePullPolicy: {{ .Values.agent2Image.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
capabilities:
add:
- SYS_TIME
volumeMounts:
- name: hostsys
mountPath: {{ .Values.persistence.hostsys.mountPath }}
- name: hostproc
mountPath: {{ .Values.persistence.hostproc.mountPath }}
- name: agentconf
mountPath: {{ .Values.persistence.agentconf.mountPath }}
- name: agentenc
mountPath: {{ .Values.persistence.agentenc.mountPath }}
- name: agentbuffer
mountPath: {{ .Values.persistence.agentbuffer.mountPath }}
envFrom:
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-agent-config'
ports:
- containerPort: {{ .Values.service.agent.ports.agent.port }}
name: agent
readinessProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,209 @@
{{/* Define the configmap */}}
{{- define "zabbix.config" -}}
{{- $serverConfigName := printf "%s-server-config" (include "tc.common.names.fullname" .) }}
{{- $commonConfigName := printf "%s-common-config" (include "tc.common.names.fullname" .) }}
{{- $frontendConfigName := printf "%s-frontend-config" (include "tc.common.names.fullname" .) }}
{{- $agentConfigName := printf "%s-agent-config" (include "tc.common.names.fullname" .) }}
{{- $javagatewayConfigName := printf "%s-javagateway-config" (include "tc.common.names.fullname" .) }}
{{- $webserviceConfigName := printf "%s-webservice-config" (include "tc.common.names.fullname" .) }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $commonConfigName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
DB_SERVER_HOST: {{ printf "%v-%v" .Release.Name "postgresql" }}
DB_SERVER_PORT: "5432"
POSTGRES_USER: {{ .Values.postgresql.postgresqlUsername }}
POSTGRES_DB: {{ .Values.postgresql.postgresqlDatabase }}
---
{{- $server := .Values.zabbix.server }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $serverConfigName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
ZBX_LISTENPORT: {{ .Values.service.server.ports.server.port | quote }}
{{- with $server.listen_backlog }}
ZBX_LISTENBACKLOG: {{ . | quote }}
{{- end }}
ZBX_LOADMODULE: "{{ range initial $server.load_modules }}{{ . }},{{ end }}{{ with last $server.load_modules }}{{ . }}{{ end }}"
ZBX_DEBUGLEVEL: {{ $server.debug_level | quote }}
ZBX_TIMEOUT: {{ $server.timeout | quote }}
ZBX_WEBSERVICEURL: http://localhost:{{ .Values.service.webservice.ports.webservice.port }}
ZBX_SERVICEMANAGERSYNCFREQUENCY: {{ $server.service_manager_sync_freq | quote }}
ZBX_STARTREPORTWRITERS: {{ $server.start_report_writers | quote }}
ZBX_STARTPOLLERS: {{ $server.start_pollers | quote }}
ZBX_IPMIPOLLERS: {{ $server.start_ipmi_pollers | quote }}
ZBX_STARTPREPROCESSORS: {{ $server.start_preprocessors | quote }}
ZBX_STARTPOLLERSUNREACHABLE: {{ $server.start_pollers_unreachable | quote }}
ZBX_STARTTRAPPERS: {{ $server.start_trappers | quote }}
ZBX_STARTPINGERS: {{ $server.start_pingers | quote }}
ZBX_STARTDISCOVERERS: {{ $server.start_discoverers | quote }}
ZBX_STARTHISTORYPOLLERS: {{ $server.start_history_pollers | quote }}
ZBX_STARTHTTPPOLLERS: {{ $server.start_http_pollers | quote }}
ZBX_STARTODBCPOLLERS: {{ $server.start_obdc_pollers | quote }}
ZBX_STARTTIMERS: {{ $server.start_timers | quote }}
ZBX_STARTESCALATORS: {{ $server.start_escalators | quote }}
ZBX_STARTALERTERS: {{ $server.start_alerters | quote }}
ZBX_STARTJAVAPOLLERS: {{ $server.start_java_pollers | quote }}
ZBX_STARTVMWARECOLLECTORS: {{ $server.start_vmware_collectors | quote }}
ZBX_VMWAREFREQUENCY: {{ $server.vmware_frequency | quote }}
ZBX_VMWAREPERFFREQUENCY: {{ $server.vmware_perf_frequency | quote }}
ZBX_VMWARECACHESIZE: {{ $server.vmware_cache_size }}
ZBX_VMWARETIMEOUT: {{ $server.vmware_timeout | quote }}
ZBX_HOUSEKEEPINGFREQUENCY: {{ $server.housekeeping_freq | quote }}
ZBX_MAXHOUSEKEEPERDELETE: {{ $server.max_housekeeper_delete | quote }}
ZBX_PROBLEMHOUSEKEEPINGFREQUENCY: {{ $server.problem_housekeeper_freq | quote }}
ZBX_CACHESIZE: {{ $server.cache_size }}
ZBX_CACHEUPDATEFREQUENCY: {{ $server.cache_update_freq | quote }}
ZBX_STARTDBSYNCERS: {{ $server.start_db_syncers | quote }}
ZBX_HISTORYCACHESIZE: {{ $server.history_cache_size }}
ZBX_HISTORYINDEXCACHESIZE: {{ $server.history_index_cache_size}}
ZBX_HISTORYSTORAGEDATEINDEX: {{ ternary "1" "0" $server.history_storage_date_index | quote }}
ZBX_TRENDCACHESIZE: {{ $server.trend_cache_size }}
ZBX_TRENDFUNCTIONCACHESIZE: {{ $server.trend_function_cache_size }}
ZBX_VALUECACHESIZE: {{ $server.value_cache_size }}
ZBX_TRAPPERTIMEOUT: {{ $server.trapper_timeout | quote }}
ZBX_UNREACHABLEPERIOD: {{ $server.unreachable_period | quote }}
ZBX_UNAVAILABLEDELAY: {{ $server.unavailable_delay | quote }}
ZBX_UNREACHABLEDELAY: {{ $server.unreachable_delay | quote }}
ZBX_LOGSLOWQUERIES: {{ $server.log_slow_queries | quote }}
ZBX_STARTPROXYPOLLERS: {{ $server.start_proxy_pollers | quote }}
ZBX_PROXYCONFIGFREQUENCY: {{ $server.proxy_config_freq | quote }}
ZBX_PROXYDATAFREQUENCY: {{ $server.proxy_data_freq | quote }}
ZBX_STARTLLDPROCESSORS: {{ $server.start_lld_processors | quote }}
ZBX_EXPORTFILESIZE: {{ $server.export_file_size }}
ZBX_EXPORTTYPE: "{{ range initial $server.export_type }}{{ . }},{{ end }}{{ with last $server.export_type }}{{ . }}{{ end }}"
ZBX_STATSALLOWEDIP: "{{ range initial $server.stats_allowed_ips }}{{ . }},{{ end }}{{ with last $server.stats_allowed_ips }}{{ . }}{{ end }}"
ZBX_ENABLE_SNMP_TRAPS: {{ .Values.zabbix.snmptraps.enabled | quote }}
ZBX_JAVAGATEWAY_ENABLE: {{ .Values.zabbix.javagateway.enabled | quote }}
ZBX_JAVAGATEWAY: localhost
ZBX_JAVAGATEWAYPORT: {{ .Values.service.javagateway.ports.javagateway.port | quote }}
---
{{- $agent := .Values.zabbix.agent }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $agentConfigName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
ZBX_SERVER_HOST: localhost
ZBX_SERVER_PORT: {{ .Values.service.server.ports.server.port | quote }}
{{/* If hostname is set, hostname_item is ignored.*/}}
{{- if not $agent.hostname_item }}
ZBX_HOSTNAME: "{{ range initial $agent.hostname }}{{ . }},{{ end }}{{ with last $agent.hostname }}{{ . }}{{ end }}"
{{- end }}
{{- with $agent.hostname_item }}
ZBX_HOSTNAMEITEM: {{ . | quote }}
{{- end }}
{{/* If metadata is set, metadata_item is ignored.*/}}
{{- if not $agent.metadata_item }}
{{- with $agent.metadata }}
ZBX_METADATA: {{ . }}
{{- end }}
{{- end }}
{{- with $agent.metadata_item }}
ZBX_METADATAITEM: {{ . | quote }}
{{- end }}
ZBX_TIMEOUT: {{ $agent.timeout | quote }}
ZBX_ENABLEPERSISTENTBUFFER: {{ $agent.enable_persistent_buffer | quote }}
ZBX_PERSISTENTBUFFERPERIOD: {{ $agent.persistent_buffer_period }}
ZBX_LISTENPORT: {{ .Values.service.agent.ports.agent.port | quote }}
ZBX_REFRESHACTIVECHECKS: {{ $agent.refresh_active_checks | quote }}
ZBX_BUFFERSEND: {{ $agent.buffer_send | quote }}
ZBX_BUFFERSIZE: {{ $agent.buffer_size | quote }}
ZBX_UNSAFEUSERPARAMETERS: {{ ternary "1" "0" $agent.unsafe_user_parameters | quote }}
ZBX_TLSCONNECT: {{ $agent.tls_connect }}
ZBX_TLSACCEPT: "{{ range initial $agent.tls_accept }}{{ . }},{{ end }}{{ with last $agent.tls_accept }}{{ . }}{{ end }}"
{{- with $agent.psk_identity }}
ZBX_TLSPSKIDENTITY: {{ . }}
{{- end }}
{{- with $agent.psk_file }}
ZBX_TLSPSKFILE: {{ . }}
{{- end }}
{{- with $agent.allow_key }}
ZBX_ALLOWKEY: {{ . | quote }}
{{- end }}
{{- with $agent.deny_key }}
ZBX_DENYKEY: {{ . | quote }}
{{- end }}
---
{{- $frontend := .Values.zabbix.frontend }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $frontendConfigName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
PHP_TZ: {{ .Values.TZ }}
ZBX_SERVER_HOST: localhost
ZBX_SERVER_PORT: {{ .Values.service.server.ports.server.port | quote }}
ZBX_SERVER_NAME: {{ $frontend.server_name }}
ENABLE_WEB_ACCESS_LOG: {{ $frontend.enable_access_logs | quote }}
ZBX_MAXEXECUTIONTIME: {{ $frontend.max_execution_time | quote }}
ZBX_MEMORYLIMIT: {{ $frontend.memory_limit }}
ZBX_POSTMAXSIZE: {{ $frontend.post_max_size }}
ZBX_UPLOADMAXFILESIZE: {{ $frontend.upload_max_file_size }}
ZBX_MAXINPUTTIME: {{ $frontend.max_input_time | quote }}
ZBX_SESSION_NAME: {{ $frontend.session_name }}
ZBX_DENY_GUI_ACCESS: {{ $frontend.deny_gui_access | quote }}
{{- if $frontend.access_ip_range }}
ZBX_GUI_ACCESS_IP_RANGE: '[{{ range initial $frontend.access_ip_range }}{{ . | quote }},{{ end }}{{ with last $frontend.access_ip_range }}{{ . | quote }}{{ end }}]'
{{- end }}
ZBX_GUI_WARNING_MSG: {{ $frontend.warning_message }}
{{- with $frontend.sso_settings }}
ZBX_SSO_SETTINGS: {{ . | quote }}
{{- end }}
PHP_FPM_PM: {{ $frontend.php_fpm_pm }}
PHP_FPM_PM_MAX_CHILDREN: {{ $frontend.php_fpm_pm_max_children | quote }}
PHP_FPM_PM_START_SERVERS: {{ $frontend.php_fpm_pm_start_servers | quote }}
PHP_FPM_PM_MIN_SPARE_SERVERS: {{ $frontend.php_fpm_pm_min_spare_servers | quote }}
PHP_FPM_PM_MAX_SPARE_SERVERS: {{ $frontend.php_fpm_pm_max_spare_servers | quote }}
PHP_FPM_PM_MAX_REQUESTS: {{ $frontend.php_fpm_pm_max_requests | quote }}
---
{{- $javagateway := .Values.zabbix.javagateway }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $javagatewayConfigName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
ZBX_START_POLLERS: {{ $javagateway.start_pollers | quote }}
ZBX_TIMEOUT: {{ $javagateway.timeout | quote }}
ZBX_DEBUGLEVEL: {{ $javagateway.debug_level }}
ZBX_LISTEN_PORT: {{ .Values.service.javagateway.ports.javagateway.port | quote }}
---
{{- $webservice := .Values.zabbix.webservice }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $webserviceConfigName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
ZBX_LISTENPORT: {{ .Values.service.webservice.ports.webservice.port | quote }}
ZBX_ALLOWEDIP: localhost
ZBX_DEBUGLEVEL: {{ $webservice.debug_level | quote }}
ZBX_TIMEOUT: {{ $webservice.timeout | quote }}
{{- end -}}

View File

@ -0,0 +1,43 @@
{{- define "zabbix.frontend" -}}
image: {{ .Values.frontendImage.repository }}:{{ .Values.frontendImage.tag }}
imagePullPolicy: {{ .Values.frontendImage.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
envFrom:
- secretRef:
name: '{{ include "tc.common.names.fullname" . }}-common-secret'
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-common-config'
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-frontend-config'
ports:
- containerPort: {{ .Values.service.main.ports.main.targetPort }}
name: main
readinessProbe:
httpGet:
path: /
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
httpGet:
path: /
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
httpGet:
path: /
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,39 @@
{{- define "zabbix.javagateway" -}}
image: {{ .Values.javaGatewayImage.repository }}:{{ .Values.javaGatewayImage.tag }}
imagePullPolicy: {{ .Values.javaGatewayImage.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
volumeMounts:
- name: javagatewaylibs
mountPath: {{ .Values.persistence.javagatewaylibs.mountPath }}
envFrom:
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-javagateway-config'
ports:
- containerPort: {{ .Values.service.javagateway.ports.javagateway.port }}
name: javagateway
readinessProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,18 @@
{{/* Define the secret */}}
{{- define "zabbix.secret" -}}
{{- $serverSecretName := printf "%s-server-secret" (include "tc.common.names.fullname" .) }}
{{- $commonSecretName := printf "%s-common-secret" (include "tc.common.names.fullname" .) }}
---
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: {{ $commonSecretName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
POSTGRES_PASSWORD: {{ .Values.postgresql.postgresqlPassword | trimAll "\"" | b64enc }}
{{- end }}

View File

@ -0,0 +1,38 @@
{{- define "zabbix.snmptraps" -}}
image: {{ .Values.snmptrapsImage.repository }}:{{ .Values.snmptrapsImage.tag }}
imagePullPolicy: {{ .Values.agent2Image.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
volumeMounts:
- name: snmptraps
mountPath: {{ .Values.persistence.snmptraps.mountPath }}
- name: snmpmibs
mountPath: {{ .Values.persistence.snmpmibs.mountPath }}
ports:
- containerPort: {{ .Values.service.snmptraps.ports.snmptraps.targetPort }}
name: snmptraps
readinessProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
tcpSocket:
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,39 @@
{{- define "zabbix.webservice" -}}
image: {{ .Values.webServiceImage.repository }}:{{ .Values.webServiceImage.tag }}
imagePullPolicy: {{ .Values.webServiceImage.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
envFrom:
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-webservice-config'
ports:
- containerPort: {{ .Values.service.webservice.ports.webservice.port }}
name: webservice
readinessProbe:
httpGet:
path: /report
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
httpGet:
path: /report
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
httpGet:
path: /report
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,29 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.common.loader.init" . }}
{{/* Render secret */}}
{{- include "zabbix.secret" . }}
{{/* Render config */}}
{{- include "zabbix.config" . }}
{{- $_ := set .Values.additionalContainers "frontend" (include "zabbix.frontend" . | fromYaml) -}}
{{- if .Values.zabbix.agent.enabled -}}
{{- $_ := set .Values.additionalContainers "agent2" (include "zabbix.agent2" . | fromYaml) -}}
{{- end -}}
{{- if .Values.zabbix.webservice.enabled -}}
{{- $_ := set .Values.additionalContainers "webservice" (include "zabbix.webservice" . | fromYaml) -}}
{{- end -}}
{{- if .Values.zabbix.snmptraps.enabled -}}
{{- $_ := set .Values.additionalContainers "snmptraps" (include "zabbix.snmptraps" . | fromYaml) -}}
{{- end -}}
{{- if .Values.zabbix.javagateway.enabled -}}
{{- $_ := set .Values.additionalContainers "javagateway" (include "zabbix.javagateway" . | fromYaml) -}}
{{- end -}}
{{/* Render the templates */}}
{{ include "tc.common.loader.apply" . }}

View File

@ -0,0 +1,297 @@
image:
repository: tccr.io/truecharts/zabbix-server
tag: 6.2.3@sha256:8047806dbb02b779c1fa4dc47f96bc02f35836800ee21a260ccf2e88928c6e97
pullPolicy: IfNotPresent
frontendImage:
repository: tccr.io/truecharts/zabbix-web
tag: 6.2.3@sha256:b58cdcfe7ab5d8d80b46f6766aea7f44f5ce2ac8c80ecf0c5450e206fd692e1d
pullPolicy: IfNotPresent
agent2Image:
repository: tccr.io/truecharts/zabbix-agent2
tag: 6.2.3@sha256:5abdc777ae777b9941c45d4fe9c9cb73f5491550318430dffd1ab9c03af7ed60
pullPolicy: IfNotPresent
snmptrapsImage:
repository: tccr.io/truecharts/zabbix-snmptraps
tag: 6.2.3@sha256:46142f4717a8e8f27da16a82690a62f6bbb18dc5db423610faec53cedf7db8fe
pullPolicy: IfNotPresent
javaGatewayImage:
repository: tccr.io/truecharts/zabbix-java-gateway
tag: 6.2.3@sha256:d29d2025016a8e8a473be48020238edb89072a4adbb92af582a93216d5a76fd1
pullPolicy: IfNotPresent
webServiceImage:
repository: tccr.io/truecharts/zabbix-web-service
tag: 6.2.3@sha256:295b685c16794e8fd2318c3abb61bff26460fd87c66beeedc9bfeaba27b46b4a
pullPolicy: IfNotPresent
tty: true
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 1997
runAsGroup: 0
zabbix:
# -- https://www.zabbix.com/documentation/current/en/manual/appendix/config/zabbix_server
server:
listen_backlog: 0
debug_level: 3
load_modules: []
timeout: 4
service_manager_sync_freq: 60
start_report_writers: 0
start_pollers: 5
start_ipmi_pollers: 0
start_preprocessors: 3
start_pollers_unreachable: 1
start_trappers: 5
start_pingers: 1
start_discoverers: 1
start_history_pollers: 5
start_http_pollers: 1
start_obdc_pollers: 1
start_timers: 1
start_escalators: 1
start_alerters: 3
start_java_pollers: 5
start_proxy_pollers: 1
start_db_syncers: 4
start_lld_processors: 2
start_vmware_collectors: 0
vmware_frequency: 60
vmware_perf_frequency: 60
vmware_cache_size: 8M
vmware_timeout: 10
housekeeping_freq: 1
max_housekeeper_delete: 5000
problem_housekeeper_freq: 60
cache_size: 32M
cache_update_freq: 60
history_cache_size: 16M
history_index_cache_size: 4M
history_storage_date_index: false
trend_cache_size: 4M
trend_function_cache_size: 4M
value_cache_size: 8M
trapper_timeout: 300
unreachable_period: 45
unreachable_delay: 15
unavailable_delay: 60
log_slow_queries: 3000
proxy_config_freq: 3600
proxy_data_freq: 1
export_file_size: 1G
export_type: []
stats_allowed_ips: []
frontend:
server_name: My Zabbix Server
enable_access_logs: true
max_execution_time: 300
memory_limit: 128M
post_max_size: 16M
upload_max_file_size: 2M
max_input_time: 300
session_name: zbx_sessionid
deny_gui_access: false
warning_message: Zabbix Server is under maintenance
access_ip_range: []
# Advanced
sso_settings: ""
php_fpm_pm: dynamic
php_fpm_pm_max_children: 50
php_fpm_pm_start_servers: 5
php_fpm_pm_min_spare_servers: 5
php_fpm_pm_max_spare_servers: 35
php_fpm_pm_max_requests: 0
agent:
enabled: true
hostname:
- Zabbix server
hostname_item: ""
metadata: ""
metadata_item: ""
timeout: 3
enable_persistent_buffer: false
persistent_buffer_period: 1h
refresh_active_checks: 120
buffer_send: 5
buffer_size: 100
unsafe_user_parameters: false
tls_connect: unencrypted
tls_accept:
- unencrypted
psk_identity: ""
psk_file: ""
allow_key: ""
deny_key: ""
javagateway:
enabled: true
start_pollers: 5
timeout: 3
debug_level: info
webservice:
enabled: true
debug_level: 3
timeout: 10
snmptraps:
enabled: true
envFrom:
- secretRef:
name: '{{ include "tc.common.names.fullname" . }}-common-secret'
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-common-config'
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-server-config'
service:
main:
ports:
main:
port: 10211
protocol: HTTP
targetPort: 8080
server:
enabled: true
ports:
server:
enabled: true
port: 10051
javagateway:
enabled: true
ports:
javagateway:
enabled: true
port: 10052
snmptraps:
enabled: true
ports:
snmptraps:
protocol: UDP
enabled: true
port: 162
targetPort: 1162
agent:
type: ClusterIP
enabled: true
ports:
agent:
enabled: true
port: 10050
webservice:
type: ClusterIP
enabled: true
ports:
webservice:
enabled: true
protocol: HTTP
port: 10053
probes:
liveness:
port: "{{ .Values.service.server.ports.server.port }}"
readiness:
port: "{{ .Values.service.server.ports.server.port }}"
startup:
port: "{{ .Values.service.server.ports.server.port }}"
persistence:
# Server
serveralertscripts:
enabled: true
mountPath: "/usr/lib/zabbix/alertscripts"
size: 256Gi
serverexternalscripts:
enabled: true
mountPath: "/usr/lib/zabbix/externalscripts"
size: 256Gi
servermodules:
enabled: true
mountPath: "/var/lib/zabbix/modules"
size: 256Gi
serverenc:
enabled: true
mountPath: "/var/lib/zabbix/enc"
size: 256Gi
serversshkeys:
enabled: true
mountPath: "/var/lib/zabbix/ssh_keys"
size: 256Gi
serversslcerts:
enabled: true
mountPath: "/var/lib/zabbix/ssl/certs"
size: 256Gi
serversslkeys:
enabled: true
mountPath: "/var/lib/zabbix/ssl/keys"
size: 256Gi
serversslca:
enabled: true
mountPath: "/var/lib/zabbix/ssl/ssl_ca"
size: 256Gi
serverexport:
# Used with conjunction of .Values.zabbix.server.export_file_size
enabled: true
mountPath: "/var/lib/zabbix/export"
size: 256Gi
# SNMP Traps and Server
snmptraps:
enabled: true
mountPath: /var/lib/zabbix/snmptraps
size: 256Gi
snmpmibs:
enabled: true
mountPath: /var/lib/zabbix/mibs
size: 256Gi
# Agent2 Volumes
hostproc:
enabled: true
noMount: true
readOnly: true
type: hostPath
hostPath: /proc
mountPath: /host/proc
hostsys:
enabled: true
noMount: true
readOnly: true
type: hostPath
hostPath: /sys
mountPath: /host/sys
agentconf:
enabled: true
noMount: true
mountPath: /etc/zabbix/zabbix_agentd.d
size: 256Gi
agentenc:
enabled: true
noMount: true
mountPath: /var/lib/zabbix/enc
size: 256Gi
agentbuffer:
enabled: true
noMount: true
mountPath: /var/lib/zabbix/buffer
size: 256Gi
# Java Gateway
javagatewaylibs:
enabled: true
noMount: true
mountPath: /usr/sbin/zabbix_java/ext_lib
size: 256Gi
postgresql:
enabled: true
existingSecret: "dbcreds"
postgresqlUsername: zabbix
postgresqlDatabase: zabbix
portal:
enabled: true

View File

@ -170,6 +170,7 @@ words:
- noisedash
- Nordigen
- notebookbar
- ODBC
- OOKLA
- ornias
- ovpn
@ -228,6 +229,7 @@ words:
- sgateway
- signup
- smallblock
- SNMP
- somefile
- somethingelse
- sonarr
@ -284,5 +286,6 @@ words:
- wger
- whisparr
- xsystems
- Zabbix
- zerotier
- zwavejs