Files
kubernetes/dev/zabbix/values.org
2025-12-03 06:17:44 +01:00

1087 lines
63 KiB
Org Mode

# Default values for zabbix.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
# Global configurations
global:
# -- Reference to one or more secrets to be used when pulling images.
#
# For example:
# imagePullSecrets:
# - name: "image-pull-secret"
imagePullSecrets: []
# -- Labels to apply to all resources.
commonLabels: {}
# -- 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: 7.4.x), you have to set this yourself. You can change version
# here or overwrite in each component (example: zabbixserver.image.tag, etc).
zabbixImageTag: ubuntu-7.0.16
# **Zabbix Postgresql access / credentials** configurations
# with this dict, you can set unified PostgreSQL access credentials, IP and so on for both Zabbix Server and Zabbix web frontend
# you can either chose from having all this in one named (preexisting) secret or setting the values one by one with vars
# whatever set here overrides the credential settings within the "zabbixServer" and "zabbixWeb" sections.
postgresAccess:
# under this section you can configure PostgreSQL access and credentials centrally for the entire helm chart.
# All relevant components installed by this chart will respect it: zabbixServer, zabbixWeb and postgresql (if enabled)
#
# USING ONE SECRET CONTAINING ALL DB RELEVANT SETTINGS
# PostgreSQL access details all in one existing secret (matches the structure of secrets the CrunchyData PGO operator
# and the CNPG postgres operator generate)
# for Zalando Postgres operator mixed setup is needed
# use Username and password needs to be referenced from secret
# host, port and db needs to be filled below
# if this option is chosen the below listed settings are being ignored
# -- Name of an existing secret to use for database access. This could be one created by a Postgres operator such as CNPG or PGO
existingSecretName: ""
# -- key of the postgres access secret where host ip / dns name for the postgres db is found
# if removed postgresAccess.host is used
secretHostKey: host
# -- key of the postgres access secret where the port for the postgres db is found
# if removed postgresAccess.port is used
secretPortKey: port
# -- key of the postgres access secret where user name for the postgres db is found
secretUserKey: user
# -- key of the unified postgres access secret where password for the postgres db is found
secretPasswordKey: password
# -- key of the postgres access secret where database name for the postgres db is found
# if removed postgresAccess.database is used
secretDBKey: dbname
# -- key of the postgres access secret where schema name for the postgres db is found. Can be left empty (defaults to "public", then). Only being used if external database is used (`postgresql.enabled` not set)
secretSchemaKey: ""
#
# If you are not using an existing secret for all db relevant settings, you have to supply these here
# a secret is then automatically generated containing those values under the above listed keys. This secret is then
# being used in all components except the db-init-upgrade-job. The job will get the database access credentials
# as literal values always if no existing secret is used, due to anatomy of Helm Charts and pre-install/pre-upgrade hooks
# -- Address of database host - ignored if postgresql.enabled=true
host: "zabbix-postgresql"
# -- Port of database host - ignored if postgresql.enabled=true or when existingSecretName is set
port: "5432"
# -- User of database, ignored if existingSecretName is set
user: "zabbix"
# -- Password of database, eignored if existingSecretName is set
password: "zabbix"
# -- Name of database, eignored if existingSecretName is set
database: "zabbix"
# -- Schema of database. Can be left empty if secretSchemaKey is not set. Only being used if external database is used (`postgresql.enabled` not set)
schema: ""
# **Zabbix Server** configurations
zabbixServer:
# -- Enables use of **Zabbix Server**
enabled: true
# -- Section responsible for native Zabbix Server High Availability support of this Helm Chart
zabbixServerHA:
# -- Enables support for Zabbix Server High Availability. If disabled, replicaCount will always be 1. Can not be combined with ``postgresql.enabled=true``
enabled: false
# -- K8S Role being used for database initialization and upgrade job, which needs access to certain Kubernetes resources
role:
# -- Extra annotations for the role needed to give the HA related sidecars and the DB job API permissions
annotations: {}
# -- Rolebinding being used for the database initialization and upgrade job
roleBinding:
# -- Extra annotations for the roleBinding needed to give the HA related DB init and upgrade job
annotations: {}
# -- Serviceaccount for the database initialization and upgrade job
serviceAccount:
# -- Extra annotations for the serviceAccount needed to give the DB job API permissions
annotations: {}
# -- Settings for the database initialization / upgrade job needed for HA enabled setups
dbCreateUpgradeJob:
# -- Image settings for the database initialization / upgrade job
image:
# -- Image repository for the database initialization / upgrade job
repository: ghcr.io/zabbix-community/zabbix-server-create-upgrade-db
# -- Tag of the image to use for the dbCreateUpgradeJob. Don't override this if you don't have a specific reason.
# -- it is going to be chosen based of the zabbix_server pod container otherwise
tag: ""
# -- The tag suffix used for the dbCreateUpgradeJob's image when not explicitly specifying a tag for the image. The tag name will be concatenated with major release of zabbix_server image if specified
tagSuffix: "20241230222241"
# -- Pull policy for the db initialization / upgrade job
pullPolicy: IfNotPresent
# -- Pull secrets for the db initialization / upgrade job
pullSecrets: []
# -- Additional init containers to start within the dbCreateUpgradeJob pod
extraInitContainers: []
# -- Additional containers to start within the dbCreateUpgradeJob pod
extraContainers: []
# -- Additional specifications to the dbCreateUpgradeJob pod
extraPodSpecs: {}
# -- Additional volumeMounts to the dbCreateUpgradeJob pod
extraVolumeMounts: []
# -- Additional volumes to make available to the dbCreateUpgradeJob pod
extraVolumes: []
# -- Resource requests and limits for the dbCreateUpgradeJob pod
resources: {}
# -- Security context for the HA labels sidecar
# -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext: {}
# -- The HA labels sidecar checks for the current pod whether it is the active Zabbix Server HA node and sets labels on it, accordingly
haLabelsSidecar:
# -- Image settings for the HA labels sidecar
image:
# -- Repository where to get the image for the HA labels sidecar container
repository: ghcr.io/zabbix-community/zabbix-server-ha-label-manager
# -- Tag of the HA labels sidecar container image
tag: "20241230230305"
# -- Pull policy for the HA labels sidecar image
pullPolicy: IfNotPresent
# -- Pull secrets for the HA labels sidecar image
pullSecrets: []
# -- Label name for the sidecar to set on the zabbix server pods, will be used in the zabbix server Service as an additional selector to point to the active Zabbix Server pod
labelName: zabbix.com/server-ha-role
# -- Resource requests and limits for the HA labels sidecar
resources: {}
# -- Security context for the HA labels sidecar
securityContext: {}
# -- Extra VolumeMounts for the HA labels sidecar
extraVolumeMounts: []
# -- Number of replicas of ``zabbixServer`` module. Will be forced to be 1 if ``zabbixServer.zabbixServerHA=false``
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
hostPort: false
# -- 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: {}
image:
# -- Zabbix Server Docker image name
repository: zabbix/zabbix-server-pgsql
# -- Zabbix Server Docker image tag, if you want to override zabbixImageTag
tag: null
# -- Pull policy of Docker image
pullPolicy: IfNotPresent
# -- List of dockerconfig secrets names to use when pulling images
pullSecrets: []
# -- Automatically clean orphaned ha nodes from ha_nodes db table
haNodesAutoClean:
enabled: true
image:
# -- Postgresql Docker image name: chose one of "postgres" or "timescale/timescaledb"
repository: postgres
# -- Tag of Docker image of Postgresql server, choice "16" for postgres "2.17.2-pg16" for timescaledb
# (Zabbix supports TimescaleDB. More info: https://www.zabbix.com/documentation/7.0/en/manual/installation/requirements)
tag: 16
pullPolicy: IfNotPresent
pullSecrets: []
schedule: "0 1 * * *"
concurrencyPolicy: "Replace"
deleteOlderThanSeconds: 3600
# -- 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: {}
# -- Extra environment variables. A list of additional environment variables.
extraEnv: []
# -- Additional volumeMounts to the cronjob hanodes autoclean
extraVolumeMounts: []
# -- Additional containers to start within the cronjob hanodes autoclean
extraContainers: []
# -- Additional init containers to start within the cronjob hanodes autoclean
extraInitContainers: []
# -- Additional volumes to make available to the cronjob hanodes autoclean
extraVolumes: []
# -- 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: {}
service:
# -- 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/
type: ClusterIP
# -- clusterIP is the IP address of the service and is usually assigned randomly.
# If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service.
clusterIP:
# -- externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's "externally-facing" addresses
# (NodePorts, ExternalIPs, and LoadBalancer IPs). "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
# -- externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service.
# These IPs are not managed by Kubernetes.
externalIPs: []
# -- Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying
# the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerIP: ""
# -- If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer
# will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerSourceRanges: []
# -- loadBalancerClass is the class of the load balancer implementation this Service belongs to.
# If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. "internal-vip" or
# "example.com/internal-vip". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'.
# If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration,
# but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services
# with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field.
# This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed.
# This field will be wiped when a service is updated to a non 'LoadBalancer' type.
loadBalancerClass: ""
# -- Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity.
# Must be ClientIP or None. Defaults to None. More info:
# https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
sessionAffinity: None
# -- Port of service in Kubernetes cluster
port: 10051
# -- NodePort port to allocate on each node (only if service.type = NodePort or Loadbalancer)
nodePort: 31051
# -- Annotations for the zabbix-server service
annotations: {}
# 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/7.0/Dockerfiles/server-pgsql/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/main/charts/zabbix/docs/example/kind/values.yaml
extraEnv: []
# - name: ENABLE_TIMESCALEDB
# value: "true"
# -- Annotations to add to the deployment
extraDeploymentAnnotations: {}
# -- Labels to add to the deployment
extraDeploymentLabels: {}
# -- Annotations to add to the pods
extraPodAnnotations: {}
# -- Labels to add to the pods
extraPodLabels: {}
# -- Additional volumeMounts to the Zabbix Server container
extraVolumeMounts: []
# -- Additional containers to start within the Zabbix Server pod
extraContainers: []
# -- Additional init containers to start within the Zabbix Server pod
extraInitContainers: []
# -- Additional volumes to make available to the Zabbix Server pod
extraVolumes: []
# -- Additional specifications to the Zabbix Server 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: {}
# -- 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: {}
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
# **PostgreSQL** configuration
postgresql:
# -- Create a database using Postgresql. Not usable in combination with ``zabbixserver.zabbixServerHA=true``
enabled: true
image:
# -- Postgresql Docker image name: chose one of "postgres" or "timescale/timescaledb"
repository: postgres
# -- Tag of Docker image of Postgresql server, choice "16" for postgres "2.17.2-pg16" for timescaledb
# (Zabbix supports TimescaleDB. More info: https://www.zabbix.com/documentation/7.0/en/manual/installation/requirements)
tag: 16
# -- Pull policy of Docker image
pullPolicy: IfNotPresent
# -- List of dockerconfig secrets names to use when pulling images
pullSecrets: []
# -- 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
enabled: false
# -- Existing persistent volume claim name to be used to store postgres data
existingClaimName: false
# -- 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
# claim_access_mode: "ReadWriteOnce"
# -- Storage PVC storageclass to use
# storageClass: my-storage-class
service:
# -- 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/
type: ClusterIP
# -- clusterIP is the IP address of the service and is usually assigned randomly. If an address is specified manually,
# is in-range (as per system configuration), and is not in use, it will be allocated to the service.
clusterIP:
# -- Port of service in Kubernetes cluster
port: 5432
# -- Annotations for the zabbix-server service
annotations: {}
# metallb.universe.tf/address-pool: production-public-ips
# -- Extra Postgresql runtime parameters ("-c" options)
extraRuntimeParameters:
max_connections: 100
# -- Extra environment variables. A list of additional environment variables. See: https://www.postgresql.org/docs/16/libpq-envars.html
extraEnv: []
# -- Annotations to add to the statefulset
extraStatefulSetAnnotations: {}
# -- Labels to add to the statefulset
extraStatefulSetLabels: {}
# -- Annotations to add to the pod
extraPodAnnotations: {}
# -- Labels to add to the pod
extraPodLabels: {}
# -- Additional volumeMounts to the postgresql container
extraVolumeMounts: []
# -- Additional containers to start within the postgresql pod
extraContainers: []
# -- Additional init containers to start within the postgresql pod
extraInitContainers: []
# -- Additional volumes to make available to the postgresql pod
extraVolumes: []
# -- Additional specifications to the postgresql 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: {}
# -- 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: {}
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
# **Zabbix Proxy** configurations
zabbixProxy:
# -- Enables use of **Zabbix Proxy**
enabled: false
# -- Number of replicas of ``zabbixProxy`` 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 Proxy Docker image name
repository: zabbix/zabbix-proxy-sqlite3
# -- Zabbix Proxy Docker image tag, if you want to override zabbixImageTag
tag: null
# -- Pull policy of Docker image
pullPolicy: IfNotPresent
# -- List of dockerconfig secrets names to use when pulling images
pullSecrets: []
# -- The variable allows to switch Zabbix Proxy mode. By default, value is 0 - active proxy. Allowed values are 0 and 1.
ZBX_PROXYMODE: 0
# -- Zabbix Proxy hostname. Case sensitive hostname. If not defined the pod name will be used
ZBX_HOSTNAME: zabbix-proxy # This variable is unique, case sensitive hostname.
# -- Zabbix Server host
ZBX_SERVER_HOST: zabbix-zabbix-server
# -- Zabbix Server port
ZBX_SERVER_PORT: 10051
# ZBX_LOADMODULE: dummy1.so,dummy2.so # The variable is list of comma separated loadable Zabbix modules. It works with volume /var/lib/zabbix/modules.
# The variable is used to specify debug level, from 0 to 5
ZBX_DEBUGLEVEL: 4
# The variable is used to specify timeout for processing checks. By default, value is 4.
ZBX_TIMEOUT: 4
# -- The variable enable communication with Zabbix Java Gateway to collect Java related checks. By default, value is false.
ZBX_JAVAGATEWAY_ENABLE: false
# -- Cache size
ZBX_VMWARECACHESIZE: 128M
service:
# -- 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/
type: ClusterIP
# -- clusterIP is the IP address of the service and is usually assigned randomly.
# If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service.
clusterIP:
# -- externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's "externally-facing" addresses
# (NodePorts, ExternalIPs, and LoadBalancer IPs). "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
# -- externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service.
# These IPs are not managed by Kubernetes.
externalIPs: []
# -- Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying
# the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerIP: ""
# -- If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer
# will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerSourceRanges: []
# -- loadBalancerClass is the class of the load balancer implementation this Service belongs to.
# If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. "internal-vip" or
# "example.com/internal-vip". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'.
# If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration,
# but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services
# with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field.
# This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed.
# This field will be wiped when a service is updated to a non 'LoadBalancer' type.
loadBalancerClass: ""
# -- Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity.
# Must be ClientIP or None. Defaults to None. More info:
# https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
sessionAffinity: None
# -- Port of service in Kubernetes cluster
port: 10051
# -- NodePort port to allocate on each node (only if service.type = NodePort or Loadbalancer)
nodePort: 31053
# -- Annotations for the zabbix-proxy service
annotations: {}
# 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/7.0/Dockerfiles/proxy-sqlite3/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/main/charts/zabbix/docs/example/kind/values.yaml
extraEnv: []
# -- Annotations to add to the statefulset
extraStatefulSetAnnotations: {}
# -- Labels to add to the statefulset
extraStatefulSetLabels: {}
# -- Annotations to add to the pod
extraPodAnnotations: {}
# -- Labels to add to the pod
extraPodLabels: {}
# -- Additional volumeMounts to the Zabbix Proxy container
extraVolumeMounts: []
# -- Additional containers to start within the Zabbix Proxy pod
extraContainers: []
# -- Additional init containers to start within the Zabbix Proxy pod
extraInitContainers: []
# -- Additional volumes to make available to the Zabbix Proxy pod
extraVolumes: []
# -- 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
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: {}
# -- 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: {}
# -- Container Lifecycle Hooks. Reference: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
lifecycle: {}
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
# **Zabbix Agent** configurations
zabbixAgent:
# -- Enables use of **Zabbix Agent**
enabled: true
# -- Its is a default mode. Zabbix-agent will run as sidecar in zabbix-server and zabbix-proxy pods. Disable this mode if you want to run zabbix-agent as daemonSet
runAsSidecar: true
# -- Enable this mode if you want to run zabbix-agent as daemonSet. The 'zabbixAgent.runAsSidecar' option must be false.
runAsDaemonSet: false
# -- 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 Agent Docker image name. Can use zabbix/zabbix-agent or zabbix/zabbix-agent2
repository: zabbix/zabbix-agent2
# -- Zabbix Agent Docker image tag, if you want to override zabbixImageTag
tag: null
# -- Pull policy of Docker image
pullPolicy: IfNotPresent
# -- List of dockerconfig secrets names to use when pulling images
pullSecrets: []
# -- Zabbix Server host
ZBX_SERVER_HOST: 0.0.0.0/0
# -- Zabbix Server port
ZBX_SERVER_PORT: 10051
# -- This variable is boolean (true or false) and enables or disables feature of passive checks. By default, value is true
ZBX_PASSIVE_ALLOW: true
# -- The variable is comma separated list of allowed Zabbix Server or proxy hosts for connections to Zabbix Agent container. Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
# ZBX_PASSIVESERVERS: ''
# -- This variable is boolean (true or false) and enables or disables feature of active checks
ZBX_ACTIVE_ALLOW: false
# -- The variable is comma separated list of allowed Zabbix Server or proxy hosts for connections to Zabbix Agent container. You may specify port.
# ZBX_ACTIVESERVERS: ''
# -- The variable is list of comma separated loadable Zabbix modules. It works with volume /var/lib/zabbix/modules.
# ZBX_LOADMODULE: dummy1.so,dummy2.so
# -- The variable is used to specify debug level, from 0 to 5
ZBX_DEBUGLEVEL: 3
# -- The variable is used to specify timeout for processing checks. By default, value is 4.
ZBX_TIMEOUT: 4
service:
# -- 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/
type: ClusterIP
# -- clusterIP is the IP address of the service and is usually assigned randomly.
# If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service.
clusterIP:
# -- externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's "externally-facing" addresses
# (NodePorts, ExternalIPs, and LoadBalancer IPs). "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
# -- externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service.
# These IPs are not managed by Kubernetes.
externalIPs: []
# -- Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying
# the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerIP: ""
# -- If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer
# will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerSourceRanges: []
# -- loadBalancerClass is the class of the load balancer implementation this Service belongs to.
# If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. "internal-vip" or
# "example.com/internal-vip". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'.
# If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration,
# but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services
# with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field.
# This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed.
# This field will be wiped when a service is updated to a non 'LoadBalancer' type.
loadBalancerClass: ""
# -- Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity.
# Must be ClientIP or None. Defaults to None. More info:
# https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
sessionAffinity: None
# -- Port of service in Kubernetes cluster
port: 10050
# -- NodePort port to allocate on each node (only if service.type = NodePort or Loadbalancer)
nodePort: 31050
# -- Annotations for the zabbix-agent service
annotations: {}
# metallb.universe.tf/address-pool: production-public-ips
# -- set whether zabbix agent / agent2 in DaemonSet mode should use hostNetwork. Usually the right option if using zabbix agent for node monitoring. Only applies if `zabbixAgent.runAsDaemonSet=true`
hostNetwork: true
# -- 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/7.0/Dockerfiles/agent2/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/main/charts/zabbix/docs/example/kind/values.yaml
extraEnv: []
# -- Additional volumeMounts to the zabbix Agent container
extraVolumeMounts: []
# -- Annotations to add to the daemonSet
extraDaemonSetAnnotations: {}
# -- Labels to add to the daemonSet
extraDaemonSetLabels: {}
# -- Labels to add to the deployment
extraDeploymentLabels: {}
# -- Annotations to add to the pods
extraPodAnnotations: {}
# -- Labels to add to the pods
extraPodLabels: {}
# -- Additional containers to start within the Zabbix Agent pod
extraContainers: []
# -- Additional init containers to start within the Zabbix Agent pod
extraInitContainers: []
# -- Additional volumes to make available to the Zabbix Agent pod
extraVolumes: []
# -- Additional specifications to the Zabbix Agent 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:
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:
tcpSocket:
# -- Port number/alias name of the container
port: zabbix-agent
initialDelaySeconds: 15
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 5
successThreshold: 1
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
# **Zabbix Web** configurations
zabbixWeb:
# -- Enables use of **Zabbix Web**
enabled: true
# -- Number of replicas of ``zabbixWeb`` module
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: {}
image:
# -- Zabbix Web Docker image name
repository: zabbix/zabbix-web-nginx-pgsql
# -- Zabbix Web Docker image tag, if you want to override zabbixImageTag
tag: null
# -- Pull policy of Docker image
pullPolicy: IfNotPresent
# -- List of dockerconfig secrets names to use when pulling images
pullSecrets: []
# -- Port of the Zabbix Web application. Change to 8443 in case of HTTPS. Add certs to tlsCertsSecretName.
port: 8080
# -- Secret name containing certificates for SAML configuration. Example: zabbix-web-samlcerts
samlCertsSecretName: ""
# -- Secret name containing certificates for TLS. Example: zabbix-web-tlscerts. Must include dhparam.pem, ssl.crt and ssl.key.
tlsCertsSecretName: ""
service:
# -- 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/
type: ClusterIP
# -- clusterIP is the IP address of the service and is usually assigned randomly.
# If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service.
clusterIP:
# -- externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's "externally-facing" addresses
# (NodePorts, ExternalIPs, and LoadBalancer IPs). "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
# -- externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service.
# These IPs are not managed by Kubernetes.
externalIPs: []
# -- Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying
# the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerIP: ""
# -- If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer
# will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerSourceRanges: []
# -- loadBalancerClass is the class of the load balancer implementation this Service belongs to.
# If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. "internal-vip" or
# "example.com/internal-vip". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'.
# If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration,
# but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services
# with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field.
# This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed.
# This field will be wiped when a service is updated to a non 'LoadBalancer' type.
loadBalancerClass: ""
# -- Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity.
# Must be ClientIP or None. Defaults to None. More info:
# https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
sessionAffinity: None
# -- Port of service in Kubernetes cluster
port: 80
# -- NodePort port to allocate on each node (only if service.type = NodePort or Loadbalancer)
nodePort: 31080
# -- Annotations for the Zabbix Web
annotations: {}
# 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/7.0/Dockerfiles/web-apache-pgsql/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/main/charts/zabbix/docs/example/kind/values.yaml
extraEnv: []
# - name: ZBX_SSO_SETTINGS
# value: '{"baseurl": "https://zabbix.example.com"}'
# - name: ZBX_SERVER_NAME
# value: Demo Zabbix
# -- Annotations to add to the deployment
extraDeploymentAnnotations: {}
# -- Labels to add to the deployment
extraDeploymentLabels: {}
# -- Annotations to add to the pods
extraPodAnnotations: {}
# -- Labels to add to the pods
extraPodLabels: {}
# -- Additional volumeMounts to the Zabbix Web container
extraVolumeMounts: []
# -- Additional containers to start within the Zabbix Web pod
extraContainers: []
# -- Additional init containers to start within the Zabbix Web pod
extraInitContainers: []
# -- Additional volumes to make available to the Zabbix Web pod
extraVolumes: []
# -- Additional specifications to the Zabbix Web pod
extraPodSpecs: {}
# -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext: {}
livenessProbe:
httpGet:
# -- Path of health check of application. Access logs are disabled for endpoint /ping. If needs Access logs, change for endpoint /
path: /ping
# -- Port number/alias name of the container
port: zabbix-web
# -- Scheme of health check of application
# If scheme field is set to HTTPS, the kubelet sends an HTTPS request skipping the certificate verification.
# Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#http-probes
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
readinessProbe:
httpGet:
# -- Path of health check of application. Access logs are disabled for endpoint /ping. If needs Access logs, change for endpoint /
path: /ping
# -- Port number/alias name of the container
port: zabbix-web
# -- Scheme of health check of application
# If scheme field is set to HTTPS, the kubelet sends an HTTPS request skipping the certificate verification.
# Reference: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#http-probes
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
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: {}
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
# **Zabbix Web Service** configurations
zabbixWebService:
# -- Enables use of **Zabbix Web Service**
enabled: true
# -- Number of replicas of ``zabbixWebService`` module
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: {}
image:
# -- Zabbix Webservice Docker image name
repository: zabbix/zabbix-web-service
# -- Zabbix Webservice Docker image tag, if you want to override zabbixImageTag
tag: null
# -- Pull policy of Docker image
pullPolicy: IfNotPresent
# -- List of dockerconfig secrets names to use when pulling images
pullSecrets: []
# -- Set the IgnoreURLCertErrors configuration setting of Zabbix Web Service
# ignoreURLCertErrors=1
service:
# -- 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/
type: ClusterIP
# -- clusterIP is the IP address of the service and is usually assigned randomly. If an address is specified manually,
# is in-range (as per system configuration), and is not in use, it will be allocated to the service.
clusterIP:
# -- Port of service in Kubernetes cluster
port: 10053
# -- Annotations for the Zabbix Web Service
annotations: {}
# 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/7.0/Dockerfiles/web-service/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/main/charts/zabbix/docs/example/kind/values.yaml
extraEnv: []
# -- Annotations to add to the deployment
extraDeploymentAnnotations: {}
# -- Labels to add to the deployment
extraDeploymentLabels: {}
# -- Annotations to add to the pods
extraPodAnnotations: {}
# -- Labels to add to the pods
extraPodLabels: {}
# -- Additional volumeMounts to the Zabbix Web Service container
extraVolumeMounts: []
# -- Additional containers to start within the Zabbix Web Service pod
extraContainers: []
# -- Additional init containers to start within the Zabbix Web Service pod
extraInitContainers: []
# -- Additional volumes to make available to the Zabbix Web Service pod
extraVolumes: []
# -- Additional specifications to the Zabbix Web Service 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: {}
# -- 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: {}
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
# **Zabbix Java Gateway** configurations
zabbixJavaGateway:
# -- Enables use of **Zabbix Java Gateway**
enabled: false
# -- Number of replicas of ``Zabbix Java Gateway`` module
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: {}
image:
# -- Zabbix Java Gateway Docker image name.
repository: zabbix/zabbix-java-gateway
# -- Zabbix Java Gateway Docker image tag, if you want to override zabbixImageTag
tag: null
# -- Pull policy of Docker image
pullPolicy: IfNotPresent
# -- List of dockerconfig secrets names to use when pulling images
pullSecrets: []
# -- This variable is specified amount of pollers. By default, value is 5
ZBX_START_POLLERS: 5
# -- Name of properties file. Can be used to set additional properties using a key-value format in such a way that they are not visible on a command line or to overwrite existing ones.
ZBX_PROPERTIES_FILE: ""
# -- The variable is used to specify debug level, from 0 to 5
ZBX_DEBUGLEVEL: 3
# -- This variable is used to specify timeout for outgoing connections. By default, value is 3.
ZBX_TIMEOUT: 3
# -- Additional arguments for Zabbix Java Gateway. Useful to enable additional libraries and features.
ZABBIX_OPTIONS: ""
# Java Gateway Service Name
ZBX_JAVAGATEWAY: zabbix-java-gateway
service:
# -- 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/
type: ClusterIP
# -- clusterIP is the IP address of the service and is usually assigned randomly.
# If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service.
clusterIP:
# -- externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's "externally-facing" addresses
# (NodePorts, ExternalIPs, and LoadBalancer IPs). "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
# -- externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service.
# These IPs are not managed by Kubernetes.
externalIPs: []
# -- Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying
# the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerIP: ""
# -- If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer
# will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerSourceRanges: []
# -- loadBalancerClass is the class of the load balancer implementation this Service belongs to.
# If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. "internal-vip" or
# "example.com/internal-vip". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'.
# If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration,
# but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services
# with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field.
# This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed.
# This field will be wiped when a service is updated to a non 'LoadBalancer' type.
loadBalancerClass: ""
# -- Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity.
# Must be ClientIP or None. Defaults to None. More info:
# https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
sessionAffinity: None
# -- Port of service in Kubernetes cluster
port: 10052
# -- NodePort port to allocate on each node (only if service.type = NodePort or Loadbalancer)
nodePort: 31052
# -- Annotations for the zabbix-java-gateway service
annotations: {}
# 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/7.0/Dockerfiles/java-gateway/alpine#environment-variables. See example: https://github.com/zabbix-community/helm-zabbix/blob/main/charts/zabbix/docs/example/kind/values.yaml
extraEnv: []
# -- Additional volumeMounts to the Zabbix Java Gateway container
extraVolumeMounts: []
# -- Annotations to add to the deployment
extraDeploymentAnnotations: {}
# -- Labels to add to the deployment
extraDeploymentLabels: {}
# -- Annotations to add to the pod
extraPodAnnotations: {}
# -- Labels to add to the pod
extraPodLabels: {}
# -- Additional containers to start within the Zabbix Java Gateway pod
extraContainers: []
# -- Additional init containers to start within the Zabbix Java Gateway pod
extraInitContainers: []
# -- Additional volumes to make available to the Zabbix Java Gateway pod
extraVolumes: []
# -- 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:
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:
tcpSocket:
# -- Port number/alias name of the container
port: zabbix-java-gw
initialDelaySeconds: 15
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 5
successThreshold: 1
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
# Zabbix Browser Monitoring, supported since 7.0.
# See https://assets.zabbix.com/files/events/2024/conference_benelux_2024/KasparsM_browser_monitoring.pdf
# and https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/browser
zabbixBrowserMonitoring:
# -- Enable browser pollers
enabled: false
# -- Number of browser pollers to start
pollers: 1
webdriver:
# -- Enable webdriver
enabled: true
# -- WebDriver container name
name: chrome
# -- Number of replicas of ``zabbixWebDriver`` module
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: {}
image:
# -- WebDriver container image
repository: selenium/standalone-chrome
# -- WebDriver container image tag, See https://hub.docker.com/r/selenium/standalone-chrome/tags
tag: 124.0-chromedriver-124.0-grid-4.33.0-20250606
# -- Pull policy of Docker image
pullPolicy: IfNotPresent
# -- List of dockerconfig secrets names to use when pulling images
pullSecrets: []
# -- WebDriver container port 1
port1: 4444
# -- WebDriver container port 2
port2: 7900
# -- Custom WebDriver URL. If set, it overrides the default internal WebDriver service URL. Set zabbixBrowserMonitoring.webdriver.enabled to false when setting this.
customWebDriverURL: ""
service:
# -- 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/
type: ClusterIP
# -- clusterIP is the IP address of the service and is usually assigned randomly.
# If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service.
clusterIP:
# -- externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's "externally-facing" addresses
# (NodePorts, ExternalIPs, and LoadBalancer IPs). "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
# -- externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service.
# These IPs are not managed by Kubernetes.
externalIPs: []
# -- Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying
# the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerIP: ""
# -- If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer
# will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerSourceRanges: []
# -- loadBalancerClass is the class of the load balancer implementation this Service belongs to.
# If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. "internal-vip" or
# "example.com/internal-vip". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'.
# If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration,
# but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services
# with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field.
# This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed.
# This field will be wiped when a service is updated to a non 'LoadBalancer' type.
loadBalancerClass: ""
# -- Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity.
# Must be ClientIP or None. Defaults to None. More info:
# https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
sessionAffinity: None
# -- Port 1 of service in Kubernetes cluster
port1: 4444
# -- Port 2 of service in Kubernetes cluster
port2: 7900
# -- NodePort port 1 to allocate on each node (only if service.type = NodePort or Loadbalancer)
nodePort1: 31444
# -- NodePort port 2 to allocate on each node (only if service.type = NodePort or Loadbalancer)
nodePort2: 31900
# -- Annotations for the Zabbix WebDriver
annotations: {}
# 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://www.selenium.dev/documentation/grid/configuration
extraEnv: []
# - name: VAR_1
# value: 'example_value'
# -- Annotations to add to the deployment
extraDeploymentAnnotations: {}
# -- Labels to add to the deployment
extraDeploymentLabels: {}
# -- Annotations to add to the pods
extraPodAnnotations: {}
# -- Labels to add to the pods
extraPodLabels: {}
# -- Additional volumeMounts to the Zabbix WebDriver container
extraVolumeMounts: []
# -- Additional containers to start within the Zabbix WebDriver pod
extraContainers: []
# -- Additional init containers to start within the Zabbix WebDriver pod
extraInitContainers: []
# -- Additional volumes to make available to the Zabbix WebDriver pod
extraVolumes: []
# -- Additional specifications to the Zabbix WebDriver pod
extraPodSpecs: {}
# -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext: {}
livenessProbe: {}
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: {}
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
# Ingress configurations
ingress:
# -- Enables Ingress
enabled: false
# -- Ingress annotations
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
# -- Ingress hosts
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
# -- Ingress TLS configuration
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
# ingressClassName: nginx
# -- pathType is only for k8s >= 1.1=
pathType: Prefix
# -- Tolerations configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
tolerations: []
# -- Affinity configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
affinity: {}
# -- Security Context configurations. Reference: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext: {}
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" ]
# -- Extra arbitrary Kubernetes manifests to deploy within the release
extraManifests: []
helmTestJobs:
webConnection:
image:
# -- Image repository for Helm test job testing connection to web frontend
repository: busybox
# -- Image tag for Helm test job testing connection to web frontend
tag: latest
# -- Pull Policy for Helm test job testing connection to web frontend
pullPolicy: IfNotPresent
# -- Pull Secrets for Helm test job testing connection to web frontend
pullSecrets: []
# -- Security Context for Helm test job testing connection to web frontend
securityContext: {}
# -- Resource limits/reservations for Helm test job testing connection to web frontend
resources: {}
serverConnection:
image:
# -- Image repository for Helm test job testing connection to Zabbix server
repository: busybox
# -- Image tag for Helm test job testing connection to Zabbix server
tag: latest
# -- Pull Policy for Helm test job testing connection to Zabbix server
pullPolicy: IfNotPresent
# -- Pull Secrets for Helm test job testing connection to Zabbix server
pullSecrets: []
# -- Security Context for Helm test job testing connection to Zabbix server
securityContext: {}
# -- Resource limits/reservations for Helm test job testing connection to Zabbix server
resources: {}
# -- nodeSelector configurations. Reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}