3d01e881aac966b43e285a2d043193edad20ccfe
[mirror/dsa-puppet.git] / modules / onion / manifests / balance.pp
1 class onion::balance {
2         include onion
3
4         package { 'onionbalance':
5                 ensure => installed,
6         }
7         service { 'onionbalance':
8                 ensure => running,
9                 require => Package['onionbalance'],
10         }
11
12         file { '/usr/local/bin/tor-onion-name':
13                 mode    => '0555',
14                 source  => 'puppet:///modules/onion/tor-onion-name',
15         }
16         file { '/usr/local/bin/create-onionbalance-config':
17                 mode    => '0555',
18                 source  => 'puppet:///modules/onion/create-onionbalance-config',
19         }
20
21         concat::fragment { 'onion::torrc_control_header':
22                 target  => "/etc/tor/torrc",
23                 order   => 10,
24                 content => "ControlPort 9051\n\n",
25         }
26
27         concat { '/etc/onionbalance/config.yaml':
28                 notify  => Service['onionbalance'],
29                 require => Package['onionbalance'],
30         }
31         concat::fragment { 'onion::balance::config_header':
32                 target  => "/etc/onionbalance/config.yaml",
33                 order   => 05,
34                 content => "services:\n",
35         }
36
37         @@concat::fragment { "onion::balance::onionbalance-services.yaml":
38                 target  => "/srv/puppet.debian.org/puppet-facts/onionbalance-services.yaml",
39                 content => "${onion_balance_service_hostname}\n",
40                 tag     => "onionbalance-services.yaml",
41         }
42
43
44         concat { '/etc/onionbalance/config-dsa-snippet.yaml':
45                 notify  => Exec['create-onionbalance-config'],
46                 require => File['/usr/local/bin/create-onionbalance-config']
47         }
48         Concat::Fragment <<| tag == "onion::balance::dsa-snippet" |>>
49
50         exec { "create-onionbalance-config":
51                 command => "/usr/local/bin/create-onionbalance-config"
52                 refreshonly => true,
53                 require =>  File['/usr/local/bin/create-onionbalance-config']
54         }
55 }