Puppet Class: varnish

Defined in:
manifests/init.pp

Overview

Parameters:

  • start (Any) (defaults to: 'yes')
  • nfiles (Any) (defaults to: '131072')
  • memlock (Any) (defaults to: '82000')
  • storage_type (Any) (defaults to: 'malloc')
  • varnish_vcl_conf (Any) (defaults to: '/etc/varnish/default.vcl')
  • varnish_listen_address (Any) (defaults to: '')
  • varnish_listen_port (Any) (defaults to: '6081')
  • varnish_admin_listen_address (Any) (defaults to: '127.0.0.1')
  • varnish_admin_listen_port (Any) (defaults to: '6082')
  • varnish_min_threads (Any) (defaults to: '5')
  • varnish_max_threads (Any) (defaults to: '500')
  • varnish_thread_timeout (Any) (defaults to: '300')
  • varnish_storage_size (Any) (defaults to: '1G')
  • varnish_secret_file (Any) (defaults to: '/etc/varnish/secret')
  • varnish_storage_file (Any) (defaults to: '/var/lib/varnish-storage/varnish_storage.bin')
  • varnish_ttl (Any) (defaults to: '120')
  • shmlog_dir (Any) (defaults to: '/var/lib/varnish')
  • shmlog_tempfs (Any) (defaults to: true)
  • version (Any) (defaults to: present)


53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'manifests/init.pp', line 53

class varnish (
  $start                        = 'yes',
  $nfiles                       = '131072',
  $memlock                      = '82000',
  $storage_type                 = 'malloc',
  $varnish_vcl_conf             = '/etc/varnish/default.vcl',
  $varnish_listen_address       = '',
  $varnish_listen_port          = '6081',
  $varnish_admin_listen_address = '127.0.0.1',
  $varnish_admin_listen_port    = '6082',
  $varnish_min_threads          = '5',
  $varnish_max_threads          = '500',
  $varnish_thread_timeout       = '300',
  $varnish_storage_size         = '1G',
  $varnish_secret_file          = '/etc/varnish/secret',
  $varnish_storage_file         = '/var/lib/varnish-storage/varnish_storage.bin',
  $varnish_ttl                  = '120',
  $shmlog_dir                   = '/var/lib/varnish',
  $shmlog_tempfs                = true,
  $version                      = present,
) {

  # read parameters
  include varnish::params

  # install Varnish
  class {'varnish::install':
    version => $version,
  }

  # enable Varnish service
  class {'varnish::service':
    start => $start,
  }

  # mount shared memory log dir as tempfs
  if $shmlog_tempfs {
    class { 'varnish::shmlog':
      shmlog_dir => $shmlog_dir,
      require => Package['varnish'],
    }
  }

  # varnish config file
  file { 'varnish-conf':
    ensure  => present,
    path    => $varnish::params::conf_file_path,
    owner   => 'root',
    group   => 'root',
    mode    => '0644',
    content => template('varnish/varnish-conf.erb'),
    require => Package['varnish'],
    notify  => Service['varnish'],
  }

  # storage dir
  $varnish_storage_dir = regsubst($varnish_storage_file, '(^/.*)(/.*$)', '\1')
  file { 'storage-dir':
    ensure  => directory,
    path    => $varnish_storage_dir,
    require => Package['varnish'],
  }
}