aboutsummaryrefslogtreecommitdiff
path: root/manifests/daemon.pp
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2013-01-02 13:54:57 +0100
committermh <mh@immerda.ch>2013-01-02 13:54:57 +0100
commit225adb9f30bff4064e3a166498f147bfd9a9f6eb (patch)
tree6836f4ddde3ea63be929048896ef6afd5568defc /manifests/daemon.pp
parent3fb09572cbbef20a72feb3e3a50711ba7eba1cea (diff)
downloadpuppet-tor-225adb9f30bff4064e3a166498f147bfd9a9f6eb.tar.gz
puppet-tor-225adb9f30bff4064e3a166498f147bfd9a9f6eb.tar.bz2
refactor daemon and main class for better design
By extracting the resources to their own class we can avoid a bug in puppet that makes it hard to deal with inherited parametrized classes.
Diffstat (limited to 'manifests/daemon.pp')
-rw-r--r--manifests/daemon.pp77
1 files changed, 8 insertions, 69 deletions
diff --git a/manifests/daemon.pp b/manifests/daemon.pp
index 1f4ea49..000c959 100644
--- a/manifests/daemon.pp
+++ b/manifests/daemon.pp
@@ -1,79 +1,18 @@
+# manage a snippet based tor installation
class tor::daemon (
+ $ensure_version = 'installed',
+ $use_munin = false,
$data_dir = '/var/lib/tor',
$config_file = '/etc/tor/torrc',
$use_bridges = 0,
$automap_hosts_on_resolve = 0,
$log_rules = [ 'notice file /var/log/tor/notices.log' ]
-) inherits tor {
+) {
- # packages, user, group
- Service['tor'] {
- subscribe => File[$config_file],
+ class{'tor':
+ ensure_version => $ensure_version,
+ use_munin => $use_munin,
}
- Package[ 'tor' ] {
- require => File[$data_dir],
- }
-
- group { 'debian-tor':
- ensure => present,
- allowdupe => false,
- }
-
- user { 'debian-tor':
- ensure => present,
- allowdupe => false,
- comment => 'tor user,,,',
- home => $data_dir,
- shell => '/bin/false',
- gid => 'debian-tor',
- require => Group['debian-tor'],
- }
-
- # directories
- file { $data_dir:
- ensure => directory,
- mode => '0700',
- owner => 'debian-tor',
- group => 'debian-tor',
- require => User['debian-tor'],
- }
-
- file { '/etc/tor':
- ensure => directory,
- mode => '0755',
- owner => 'debian-tor',
- group => 'debian-tor',
- require => User['debian-tor'],
- }
-
- file { '/var/lib/puppet/modules/tor':
- ensure => absent,
- recurse => true,
- force => true,
- }
-
- # tor configuration file
- concat { $config_file:
- mode => '0600',
- owner => 'debian-tor',
- group => 'debian-tor',
- }
-
- # config file headers
- concat::fragment { '00.header':
- ensure => present,
- content => template('tor/torrc.header.erb'),
- owner => 'debian-tor', group => 'debian-tor', mode => '0644',
- order => 00,
- target => $config_file,
- }
-
- # global configurations
- concat::fragment { '01.global':
- content => template('tor/torrc.global.erb'),
- owner => 'debian-tor', group => 'debian-tor', mode => '0644',
- order => 01,
- target => $config_file,
- }
+ include tor::daemon::base
}