Varnish
Overview
This puppet module installs and configures varnish.
Usage
class { 'varnish':
multi_instances => false,
}
To manage varnishlog:
class { 'varnish::log': }
To manage varnishncsa:
class { 'varnish::ncsa': }
Reference
Classes:
Resources:
Class: varnish
enable
Should the service be enabled during boot time?
multi_instances
Wether or not use the multi-instance configuration (see notes).
start
Should the service be started by Puppet?
admin_listen_address
Admin interface listen address.
admin_listen_port
Admin interface listen port.
group
Group for the varnishd worker processes
listen_address
Default address to bind to.
listen_port
Default port to bind to.
secret_file
Shared secret file for admin interface.
storage
Backend storage specification.
ttl
Default TTL used when the backend does not specify one.
user
User for the varnishd worker processes.
vcl_conf
Main configuration file.
Class: varnish::log
Class: varnish::ncsa
Resource: varnish_param
This resource is a native type and a series of Augeas-based providers.
It allows to modify varnish parameters where OSes put them by default:
- in /etc/default/varnish for Debian wheezy (as a list of parameters)
- in /etc/systemd/system/varnish.service for Debian jessie (as a list of parameters)
- in /etc/sysconfig/varnish for RedHat 6 (as standalone variables)
- in /etc/varnish/varnish.params for RedHat 7 (as standalone variables)
Example:
varnish_param { 'listen_address':
ensure => present,
value => 'localhost',
}
Notes
- Version 1.x supported only multi-instances configuration. As we never use this use case, we decided to switch to a single instance configuration.
- Version 1.99.x adds support for single instance configuration but still defaults to multi-instances configuration.
- Version 2.x will default to single instance configuration and deprecate multi-instances configuration.
- Version 3.x will remove multi-instances configuration support.