This puppet module installs and configures varnish.
class { 'varnish':
multi_instances => false,
}
To manage varnishlog:
class { 'varnish::log': }
To manage varnishncsa:
class { 'varnish::ncsa': }
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',
}
- 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.