Note that exim contains tracker-specific configuration
[mirror/dsa-puppet.git] / modules / onion / manifests / balance.pp
index 1c0f9d3..d3f5ba8 100644 (file)
@@ -8,25 +8,46 @@ class onion::balance {
                ensure => running,
                require => Package['onionbalance'],
        }
+       dsa_systemd::override { 'onionbalance':
+               ensure => $ensure,
+               content => @(EOT)
+                       [Unit]
+                       BindsTo=tor.service
+                       | EOT
+       }
 
        file { '/usr/local/bin/tor-onion-name':
                mode    => '0555',
                source  => 'puppet:///modules/onion/tor-onion-name',
        }
+       file { '/usr/local/bin/create-onionbalance-config':
+               mode    => '0555',
+               source  => 'puppet:///modules/onion/create-onionbalance-config',
+               notify  => Exec['create-onionbalance-config'],
+       }
 
        concat::fragment { 'onion::torrc_control_header':
                target  => "/etc/tor/torrc",
-               order   => 10,
+               order   => '10',
                content => "ControlPort 9051\n\n",
        }
 
-       concat { '/etc/onionbalance/config':
-               notify  => Service['onionbalance'],
-               require => Package['onionbalance'],
+       @@concat::fragment { "onion::balance::onionbalance-services.yaml":
+               target  => "/srv/puppet.debian.org/puppet-facts/onionbalance-services.yaml",
+               content => "${onion_balance_service_hostname}\n",
+               tag     => "onionbalance-services.yaml",
        }
-       concat::fragment { 'onion::balance::config_header':
-               target  => "/etc/onionbalance/config",
-               order   => 05,
-               content => "service:\n",
+
+       concat { '/etc/onionbalance/config-dsa-snippet.yaml':
+               notify  => Exec['create-onionbalance-config'],
+               require => File['/usr/local/bin/create-onionbalance-config']
+       }
+       Concat::Fragment <<| tag == "onion::balance::dsa-snippet" |>>
+
+       exec { "create-onionbalance-config":
+               command => "/usr/local/bin/create-onionbalance-config",
+               refreshonly => true,
+               require => [ File['/usr/local/bin/create-onionbalance-config'], Package['onionbalance'] ],
+               notify  => Service['onionbalance'],
        }
 }