VarnishCluster Configuration

Field Description Is Required
affinity Affinity settings for the pods. It allows you to configure onto which nodes Varnish pods should prefer being scheduled. optional
priorityClassName priorityClass settings for the pods. It allows you to set a PriorityClassName and thus set a priority to your pods, to avoid eviction. optional
backend.namespaces Namespace(s) to look for backend pods. By default - namespace the VarnishCluster is deployed to. required
backend.onlyReady Include (false, by default) or exclude (true) backend pods from the VCL (.Backends template var). Alters .Backends template variable based on Kubernetes health checks (by default not ready pods are also included in VCL) instead of Varnish health probes. optional
backend.port The port of the backend pods being cached by Varnish. Can be port name or port number. required
backend.selector The selector used to identify the backend Pods. required
backend.zoneBalancing Controls Varnish backend topology aware routing which can assign weights to backends according to their geographical location. optional
backend.zoneBalancing.type Varnish backend zone-balancing type. Accepted values: disabled, auto, thresholds optional
backend.zoneBalancing.thresholds Array of thresholds objects to determine condition and respective weights to be assigned to backends: threshold, local - local backend weight, remote - remote backend weight optional
logLevel The minimum enabled logging level. Allowed values: debug, info, warn, error, dpanic, panic, fatal. Default: info optional
logFormat Format of the logs. Can be json and console. Default: json optional
monitoring The operator monitoring configuration object optional
monitoring.grafanaDashboard A dashboard that can be installed along with the operator and used in grafana. Installed as a ConfigMap. optional
monitoring.grafanaDashboard.enabled Enable or disable the ConfigMap installation. Default: false optional
monitoring.grafanaDashboard.datasourceName Name of the Grafana datasource the dashboard should use. required
monitoring.grafanaDashboard.labels ConfigMap labels. Can be used to for discovery by grafana. See the .sidecar.dashboards.label config parameter of Grafana chart for more details. Default: { grafana_dashboard: "1" } optional
monitoring.grafanaDashboard.namespace Namespace that the ConfigMap with the dashboard should be installed to. Default to the namespace VarnishCluster is installed to optional
monitoring.grafanaDashboard.title Title of the Grafana dashboard. Default: Varnish (<cluster namespace>/<name>) optional
monitoring.prometheusServiceMonitor The Prometheus ServiceMonitor that is preconfigured to monitors the operator pods. optional
monitoring.prometheusServiceMonitor.enabled Enable or disable ServiceMontitor installation. Default: false optional
monitoring.prometheusServiceMonitor.labels ServiceMonitor labels that will be used by Prometheus instance to discover this ServiceMonitor. optional
monitoring.prometheusServiceMonitor.namespace The namespace the it should be installed to. Default to the namespace VarnishCluster is installed to optional
nodeSelector Node selector to control where the Varnish pods should be scheduled optional
podDisruptionBudget Pod Disruption Budget configuration. Can be used to tell Kubernetes how many pods are required to be up (or allowed to be down) to not cause service disruption optional
podDisruptionBudget.minAvailable An eviction is allowed if at least minAvailable pods will still be available after the eviction, i.e. even in the absence of the evicted pod optional
podDisruptionBudget.maxUnavailable An eviction is allowed if at most maxUnavailable pods are unavailable after the eviction, i.e. even in absence of the evicted pod. This is a mutually exclusive setting with minAvailable optional
replicas Number of Varnish nodes required
service Varnish service configuration. required
service.annotations Additional annotations for the service. optional
service.port The port number used to expose Varnish pods. required
service.metricsPort The port that will expose the Prometheus metrics exporter. Default: 9131. optional
service.nodePort The port number used to set NodePort for Varnish. Service type `NodePort should be selected. optional
service.metricsNodePort The port number used to set NodePort for Varnish Metrics Exporter. Service type `NodePort should be selected. optional
service.controllerMetricsNodePort The port number used to set NodePort for Varnish Controller Metrics exporter. Service type `NodePort should be selected. optional
service.type Type of the Service. Allowed values: ClusterIP; LoadBalancer; NodePort. optional
tolerations Configuration that defines which node taints can the pods tolerate. For example to allow Varnish pods to run on nodes that are marked (tainted) as machines dedicated for in-memory cache optional
updateStrategy Allows to control the way Varnish pods will be updated. optional
updateStrategy.type Defines the type of the update strategy. Default: OnDelete optional
updateStrategy.delayedRollingUpdate Configuration for DelayedRollingUpdate strategy optional
updateStrategy.delayedRollingUpdate.delaySeconds Indicates the wait time between pod reloads during rolling update. Default: 60 seconds required
updateStrategy.rollingUpdate Used to communicate parameters when type is RollingUpdate optional
updateStrategy.rollingUpdate.partition Partition indicates the ordinal at which the StatefulSet should be partitioned. Default: 0 optional
varnish An object that defines the configuration of a particular Varnish instance being deployed optional
varnish.admAuth An object that defines custom kubernetes secret to keep a Varnish authentication data to secure communication for varnishadm utility. Cluster creates its own if omitted. optional
varnish.admAuth.secretName The name of kubernetes secret which keeps auth data for varnishadm. required
varnish.admAuth.key The key from kubernetes secret which to use to collect data credentials for varnishadm. If the key is omitted, the cluster will use "secret" as the key. If the value associated to the key is empty, the cluster will generate a secret. optional
varnish.args Additional Varnish daemon arguments optional
varnish.controller An object that defines the configuration of a particular Varnish controller being deployed optional
varnish.controller.image Path to the Varnish Controller image being used. If not defined uses varnish.image+-controller suffix. Something like varnish-controller optional
varnish.controller.imagePullPolicy Image pull policy for the container. Default: Always optional
varnish.controller.resources Resource requests and limits for Varnish controller container. optional
varnish.envFrom Injects an env var into the Varnish container from a ConfigMap or Secret. Useful if a value needs to be passed (securely in case of Secret) to the VCL files. So it can be read using std.getenv(). optional
varnish.envFrom.configMapRef The ConfigMap to select from optional
varnish.envFrom.configMapRef.name Name of the ConfigMap optional
varnish.envFrom.configMapRef.optional Specify whether the ConfigMap must be defined optional
varnish.envFrom.prefix An optional identifier to prepend to each key. Must be a C_IDENTIFIER optional
varnish.envFrom.secretRef The Secret to select from optional
varnish.envFrom.secretRef.name Name of the Secret optional
varnish.envFrom.secretRef.optional Specify whether the Secret must be defined optional
varnish.extraInitContainers Additional init containers optional
varnish.extraVolumeClaimTemplates[] VolumeClaimTemplates for the VarnishCluster statefulset optional
varnish.extraVolumeClaimTemplates[].metadata Metadata for the VolumeClaimTemplate optional
varnish.extraVolumeClaimTemplates[].metadata.name Name of the volume optional
varnish.extraVolumeClaimTemplates[].metadata.labels Labels to set for the VolumeClaimTemplate optional
varnish.extraVolumeClaimTemplates[].metadata.annotations Annotations to set for the VolumeClaimTemplate optional
varnish.extraVolumeClaimTemplates[].spec Spec for the PersistentVolumeClaim optional
varnish.extraVolumeMounts Additional volume mounts for the Varnish container optional
varnish.extraVolumes Additional volumes optional
varnish.image Path to the Varnish image being used optional
varnish.imagePullPolicy Image pull policy for the Varnish container. Default: Always optional
varnish.imagePullSecret The name of the image pull secret to use to pull container images optional
varnish.metricsExporter An object that defines the configuration of a particular Varnish Prometheus metrics exporter being deployed optional
varnish.metricsExporter.image Path to the Varnish Metrics exporter image being used. If not defined uses varnish.image+-metrics-exporter suffix. Something like varnish-metrics-exporter optional
varnish.metricsExporter.imagePullPolicy Image pull policy for the container. Default: Always optional
varnish.metricsExporter.resources Resource requests and limits for Varnish metrics exporter container. optional
varnish.resources Resource requests and limits for Varnish container. optional
vcl An object that defines the VCL ConfigMap configuration required
vcl.configMapName Name of the ConfigMap containing the VCL configuration files required
vcl.entrypointFileName The name of the main VCL file required

You can also find an example of VarnishCluster with detailed comments here.

results matching ""

    No results matching ""