working on more cleanup stuff
This commit is contained in:
parent
dc101f527b
commit
cf5170fbb1
@ -1,6 +1,10 @@
|
|||||||
class debian {
|
class debian {
|
||||||
group { web:
|
$varnish_apt_source = "deb http://repo.varnish-cache.org/debian/ squeeze varnish-3.0"
|
||||||
gid => 30010
|
$varnish_keyfile = "http://repo.varnish-cache.org/debian/GPG-key.txt"
|
||||||
}
|
$varnish_hash = "C4DEFFEB"
|
||||||
|
|
||||||
|
$mongo_apt_source = "deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen"
|
||||||
|
$mongo_host = "keyserver.ubuntu.com"
|
||||||
|
$mongo_hash = "7F0CEB10"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
class ruby($version, $deb_url = '', $configure = "--disable-install-doc", $build_path = '') {
|
class ruby($version = '', $deb_url = '', $configure = "--disable-install-doc", $build_path = '') {
|
||||||
gem { [ 'bundler', 'penchant' ]:
|
gem { [ 'bundler', 'penchant' ]:
|
||||||
path => "${path}:${base::path}",
|
path => "${path}:${base::path}",
|
||||||
ensure => present
|
ensure => present
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($deb_url) {
|
if ($::osfamily == 'debian') {
|
||||||
$path = '/usr/bin'
|
$path = '/usr/bin'
|
||||||
|
|
||||||
remotedeb { ruby:
|
remotedeb { ruby:
|
||||||
|
@ -1,55 +1,102 @@
|
|||||||
class varnish($version, $vcl, $user = 'varnish', $group = 'varnish', $store_file_mb = 1024) {
|
class varnish($version = '', $vcl, $user = 'varnish', $group = 'varnish') {
|
||||||
$install_path = install_path($name, $version)
|
if ($::osfamily == 'debian') {
|
||||||
$config = config_path($name)
|
$config = '/etc/varnish'
|
||||||
$share = share_path($name)
|
|
||||||
$data = data_path($name)
|
|
||||||
$sbin = sbin_path($name)
|
|
||||||
$bin_path = bin_path($name)
|
|
||||||
|
|
||||||
$bin = "${sbin}/${name}d"
|
$default_varnish = '/etc/default/varnish'
|
||||||
$pid = pid_path($name)
|
} else {
|
||||||
$log = log_path($name)
|
$install_path = install_path($name, $version)
|
||||||
|
$config = config_path($name)
|
||||||
|
$share = share_path($name)
|
||||||
|
$data = data_path($name)
|
||||||
|
$sbin = sbin_path($name)
|
||||||
|
$bin_path = bin_path($name)
|
||||||
|
|
||||||
$ncsa_bin = "${bin_path}/varnishncsa"
|
$bin = "${sbin}/${name}d"
|
||||||
$ncsa_pid = pid_path('varnishncsa')
|
$pid = pid_path($name)
|
||||||
$ncsa_log = "${log}/access.log"
|
$log = log_path($name)
|
||||||
|
|
||||||
|
$default_varnish = "${config}/defaults"
|
||||||
|
}
|
||||||
|
|
||||||
$vcl_path = "${config}/default.vcl"
|
$vcl_path = "${config}/default.vcl"
|
||||||
|
|
||||||
$store_file_path = "${data}/store"
|
if ($::osfamily == 'debian') {
|
||||||
$store_file_size = $store_file_mb * 1024 * 1024
|
debsource { varnish:
|
||||||
|
apt_source => $debian::varnish_apt_source,
|
||||||
|
keyfile => $debian::varnish_keyfile,
|
||||||
|
hash => $debian::varnish_hash
|
||||||
|
}
|
||||||
|
|
||||||
$varnish_start = "service varnish start"
|
$cache_root = "/var/lib"
|
||||||
$varnish_stop = "service varnish stop"
|
$cache_dir = "${cache_root}/varnish"
|
||||||
$varnish_rotate = "service varnish rotate"
|
|
||||||
|
|
||||||
$source = "http://repo.varnish-cache.org/source/varnish-${version}.tar.gz"
|
package { varnish:
|
||||||
$dirs = [ $config, $log, $share, $data ]
|
ensure => latest,
|
||||||
|
require => [
|
||||||
|
Debsource['varnish'], Mkdir_p[$cache_dir]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
build_and_install { $name:
|
$store_file_size = dir_size($cache_root)
|
||||||
version => $version,
|
|
||||||
source => $source
|
Package['varnish'] -> File[$default_varnish, $vcl_path]
|
||||||
|
} else {
|
||||||
|
$source = "http://repo.varnish-cache.org/source/varnish-${version}.tar.gz"
|
||||||
|
$dirs = [ $config, $log, $share, $data ]
|
||||||
|
|
||||||
|
$cache_dir = "${data}/store"
|
||||||
|
|
||||||
|
build_and_install { $name:
|
||||||
|
version => $version,
|
||||||
|
source => $source
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir_p { $dirs:
|
||||||
|
path => $base::path,
|
||||||
|
require => Build_and_install[$name]
|
||||||
|
}
|
||||||
|
|
||||||
|
init_d { $name:
|
||||||
|
require => Mkdir_p[$dirs]
|
||||||
|
}
|
||||||
|
|
||||||
|
Build_and_install['varnish'] -> File[$default_varnish, $vcl_path]
|
||||||
|
|
||||||
|
/*
|
||||||
|
$ncsa_bin = "${bin_path}/varnishncsa"
|
||||||
|
$ncsa_pid = pid_path('varnishncsa')
|
||||||
|
$ncsa_log = "${log}/access.log"
|
||||||
|
|
||||||
|
logrotate_d { 'varnishncsa':
|
||||||
|
postrotate => 'service varnish rotate',
|
||||||
|
pattern => "${log}/access.log"
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir_p { $dirs:
|
file { $default_varnish:
|
||||||
path => $base::path,
|
content => template("varnish/default"),
|
||||||
require => Build_and_install[$name]
|
notify => Service[varnish]
|
||||||
}
|
|
||||||
|
|
||||||
exec { "${name} create-store-file":
|
|
||||||
command => "dd if=/dev/zero of=${store_file_path} bs=${store_file_size} count=1",
|
|
||||||
timeout => 0,
|
|
||||||
unless => "test -f ${store_file_path}",
|
|
||||||
path => $base::path,
|
|
||||||
require => Mkdir_p[$data],
|
|
||||||
logoutput => true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
file { $vcl_path:
|
file { $vcl_path:
|
||||||
content => $vcl,
|
content => $vcl,
|
||||||
require => Build_and_install[$name]
|
notify => Service[varnish]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mkdir_p { $cache_dir:
|
||||||
|
path => $base::path
|
||||||
|
}
|
||||||
|
|
||||||
|
service { varnish:
|
||||||
|
ensure => running,
|
||||||
|
require => File[$default_varnish, $vcl_path]
|
||||||
|
}
|
||||||
|
|
||||||
|
$varnish_start = "service varnish start"
|
||||||
|
$varnish_stop = "service varnish stop"
|
||||||
|
$varnish_rotate = "service varnish rotate"
|
||||||
|
|
||||||
god_init { $name:
|
god_init { $name:
|
||||||
start => $varnish_start,
|
start => $varnish_start,
|
||||||
stop => $varnish_stop,
|
stop => $varnish_stop,
|
||||||
@ -61,31 +108,5 @@ class varnish($version, $vcl, $user = 'varnish', $group = 'varnish', $store_file
|
|||||||
interval => 10
|
interval => 10
|
||||||
}
|
}
|
||||||
|
|
||||||
/* debian stuff */
|
|
||||||
if ($::osfamily == 'debian') {
|
|
||||||
user { $user: uid => 27835 }
|
|
||||||
|
|
||||||
$packages = [ 'libpcre3', 'libpcre3-dev', 'pkg-config' ]
|
|
||||||
|
|
||||||
package { $packages:
|
|
||||||
ensure => installed,
|
|
||||||
before => Build_and_install[$name]
|
|
||||||
}
|
|
||||||
|
|
||||||
exec { 'ensure-data-store-ownership':
|
|
||||||
command => "chown -R ${user}:${group} ${data}",
|
|
||||||
path => $base::path,
|
|
||||||
require => Exec["${name} create-store-file"]
|
|
||||||
}
|
|
||||||
|
|
||||||
logrotate_d { 'varnishncsa':
|
|
||||||
postrotate => 'service varnish rotate',
|
|
||||||
pattern => "${log}/access.log"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
init_d { $name:
|
|
||||||
require => Mkdir_p[$dirs]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
12
shared/additional-modules/varnish/templates/default
Normal file
12
shared/additional-modules/varnish/templates/default
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
START=1
|
||||||
|
|
||||||
|
DAEMON_OPTS=" \
|
||||||
|
-a :80 \
|
||||||
|
-T 127.0.0.1:6082 \
|
||||||
|
-f <%= vcl_path %> \
|
||||||
|
-s file,<%= cache_dir %>/cache,<%= store_file_size %>M \
|
||||||
|
-u nobody \
|
||||||
|
-g nogroup \
|
||||||
|
-w <%= scope.lookupvar('::processorcount') %>,<%= scope.lookupvar('::processorcount').to_i * 2 %>,600 \
|
||||||
|
"
|
||||||
|
|
8
shared/lib/facter/all_ip_addresses.rb
Normal file
8
shared/lib/facter/all_ip_addresses.rb
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Facter.add('all_ip_addresses') do
|
||||||
|
setcode do
|
||||||
|
Facter.collection.list.find_all { |fact| fact[%r{^ipaddress_}] }.collect do |fact|
|
||||||
|
Facter[fact].value
|
||||||
|
end.compact.join(',')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
6
shared/lib/facter/varnish_cache_size.rb
Normal file
6
shared/lib/facter/varnish_cache_size.rb
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Facter.add("varnish_cache_size") do
|
||||||
|
setcode do
|
||||||
|
%x{df -m /var}.lines.to_a.last.strip.split(/ +/)[1].to_i / 4
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -6,4 +6,3 @@ module Puppet::Parser::Functions
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
6
shared/lib/puppet/parser/functions/dir_size.rb
Normal file
6
shared/lib/puppet/parser/functions/dir_size.rb
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
module Puppet::Parser::Functions
|
||||||
|
newfunction(:dir_size, :type => :rvalue) do |path|
|
||||||
|
%x{df -m #{path}}.lines.to_a.last.strip.split(/ +/)[1].to_i / 4
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -13,7 +13,7 @@ define debsource($apt_source, $keyfile = '', $host = '', $hash = '') {
|
|||||||
|
|
||||||
if ($keyfile != '') {
|
if ($keyfile != '') {
|
||||||
exec { "debsource-${name}":
|
exec { "debsource-${name}":
|
||||||
command => "curl $keyfile | apt-key add -",
|
command => "curl $keyfile | apt-key add - && apt-get update",
|
||||||
path => $base::path,
|
path => $base::path,
|
||||||
require => File[$file],
|
require => File[$file],
|
||||||
unless => "test $(apt-key list | grep ${hash} | wc -l) -ne 0"
|
unless => "test $(apt-key list | grep ${hash} | wc -l) -ne 0"
|
||||||
|
1
shared/modules/package_data/manifests/init.pp
Normal file
1
shared/modules/package_data/manifests/init.pp
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
Loading…
Reference in New Issue
Block a user