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'],
}
}
|