Skip to content

camptocamp/puppet-varnish

Repository files navigation

Varnish

Puppet Forge Version Puppet Forge Downloads Build Status Gemnasium By Camptocamp

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.