# constants
$spool_dir = '/var/lib/puppet/modules/tor'
- $snippet_dir = "${spool_dir}/torrc.d"
# packages, user, group
Service['tor'] {
}
file { "${spool_dir}":
- ensure => directory,
- owner => 'debian-tor', group => 'debian-tor', mode => 0755,
- }
-
- file { "${snippet_dir}":
- ensure => directory,
- owner => 'debian-tor', group => 'debian-tor', mode => 0755,
- require => File["${spool_dir}"],
+ ensure => absent,
+ recurse => true,
+ force => true,
}
# tor configuration file
- concatenated_file { "${config_file}":
- dir => "${snippet_dir}",
+ concat { "${config_file}":
mode => 0600,
owner => 'debian-tor', group => 'debian-tor',
}
# config file headers
- concatenated_file_part { '00.header':
- dir => "${snippet_dir}",
+ concat::fragment { '00.header':
content => template('tor/torrc.header.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => present,
+ order => 00,
+ target => "${config_file}",
}
# global configurations
- concatenated_file_part { '01.global':
- dir => "${snippet_dir}",
+ concat::fragment { '01.global':
content => template('tor/torrc.global.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
+ order => 01,
+ target => "${config_file}",
}
# socks definition
$listen_addresses = [],
$policies = [] ) {
- concatenated_file_part { '02.socks':
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { '02.socks':
content => template('tor/torrc.socks.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
+ order => 02,
+ target => "${tor::daemon::config_file}",
}
}
$real_outbound_bindaddresses = $outbound_bindaddresses
}
- concatenated_file_part { '03.relay':
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { '03.relay':
content => template('tor/torrc.relay.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 03,
+ target => "${tor::daemon::config_file}",
}
}
notice('You set a tor cookie authentication option, but do not have cookie_authentication on')
}
- concatenated_file_part { '04.control':
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { '04.control':
content => template('tor/torrc.control.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0600,
ensure => $ensure,
+ order => 04,
+ target => "${tor::daemon::config_file}",
}
}
$data_dir = "${tor::daemon::data_dir}",
$ensure = present ) {
- concatenated_file_part { "05.hidden_service.${name}":
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { "05.hidden_service.${name}":
content => template('tor/torrc.hidden_service.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 05,
+ target => "${tor::daemon::config_file}",
}
}
$port_front_page = '/etc/tor/tor.html',
$ensure = present ) {
- concatenated_file_part { '06.directory':
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { '06.directory':
content => template('tor/torrc.directory.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 06,
+ target => "${tor::daemon::config_file}",
}
file { '/etc/tor/tor.html':
$reject_private = 1,
$ensure = present ) {
- concatenated_file_part { "07.exit_policy.${name}":
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { "07.exit_policy.${name}":
content => template('tor/torrc.exit_policy.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 07,
+ target => "${tor::daemon::config_file}",
}
}
$listen_addresses = [],
$ensure = present ) {
- concatenated_file_part { "08.dns.${name}":
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { "08.dns.${name}":
content => template('tor/torrc.dns.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 08,
+ target => "${tor::daemon::config_file}",
}
}
$listen_addresses = [],
$ensure = present ) {
- concatenated_file_part { "09.transparent.${name}":
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { "09.transparent.${name}":
content => template('tor/torrc.transparent.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 09,
+ target => "${tor::daemon::config_file}",
}
}
$fingerprint = false,
$ensure = present ) {
- concatenated_file_part { "10.bridge.${name}":
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { "10.bridge.${name}":
content => template('tor/torrc.bridge.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 10,
+ target => "${tor::daemon::config_file}",
}
}
define map_address( $address = '',
$newaddress = '') {
- concatenated_file_part { "08.map_address.${name}":
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { "08.map_address.${name}":
content => template('tor/torrc.map_address.erb'),
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 08,
+ target => "${tor::daemon::config_file}",
}
}
define snippet( $content = '',
$ensure = present ) {
- concatenated_file_part { "99.snippet.${name}":
- dir => "${tor::daemon::snippet_dir}",
+ concat::fragment { "99.snippet.${name}":
content => "${content}",
owner => 'debian-tor', group => 'debian-tor', mode => 0644,
ensure => $ensure,
+ order => 99,
+ target => "${tor::daemon::config_file}",
}
}