/varnish-operator

Run and manage Varnish clusters on Kubernetes

Primary LanguageGoApache License 2.0Apache-2.0

Varnish Operator

CII Best Practices

Project status: alpha

The project is in development and breaking changes can be introduced.

The purpose of the project is to provide a convenient way to deploy and manage Varnish instances in Kubernetes.

Kubernetes version >=1.21.0 is supported.

Varnish version 6.5.1 is supported.

Full documentation can be found here

Overview

Varnish operator manages Varnish clusters using a CustomResourceDefinition that defines a new Kind called VarnishCluster.

The operator manages the whole lifecycle of the cluster: creating, deleting and keeping the cluster configuration up to date. The operator is responsible for building the VCL configuration using templates defined by the users and keeping the configuration up to date when relevant events occur (backend pod failure, scaling of the deployment, VCL configuration change).

Features

  • Basic install
  • Full lifecycle support (create/update/delete)
  • Automatic VCL configuration updates (using user defined templates)
  • Prometheus metrics support
  • Scaling
  • Configurable update strategy
  • Persistence (for file storage backend support)
  • Multiple Varnish versions support
  • Autoscaling

Further reading