Faidon Liambotis has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/260014

Change subject: tor: add support for multiple instances
......................................................................

tor: add support for multiple instances

Debian packages for Tor newer than 0.2.7.4-rc-1 support running multiple
instances of Tor on the same server, using systemd. Add support for this
feature to the tor module.

Change-Id: Idfed5613c924a37bb543f2c61c3299174e528a2d
---
M modules/tor/manifests/init.pp
A modules/tor/manifests/instance.pp
2 files changed, 42 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/14/260014/1

diff --git a/modules/tor/manifests/init.pp b/modules/tor/manifests/init.pp
index 0033802..ed81033 100644
--- a/modules/tor/manifests/init.pp
+++ b/modules/tor/manifests/init.pp
@@ -29,6 +29,11 @@
         require => Package['tor'],
     }
 
+    exec { 'tor-systemd-reload':
+        refreshonly => true,
+        command     => '/bin/systemctl daemon-reload',
+    }
+
     service { 'tor':
         ensure  => 'running',
         require => Package['tor'],
diff --git a/modules/tor/manifests/instance.pp 
b/modules/tor/manifests/instance.pp
new file mode 100644
index 0000000..0dd31fe
--- /dev/null
+++ b/modules/tor/manifests/instance.pp
@@ -0,0 +1,37 @@
+# sets up additional Tor instances
+# needs Tor >= 0.2.7.4-rc-1
+define tor::instance(
+    $address,
+    $nickname,
+    $contact,
+    $controlport,
+    $controlpassword,
+    $orport,
+    $dirport,
+    $exit_policy,
+) {
+
+    if $name == 'default' {
+        fail('The default name is reserved for /etc/tor/torrc')
+    }
+
+    $config = "/etc/tor/instances/${name}/torrc"
+
+    exec { "tor-instance-${name}":
+        command => "/usr/sbin/tor-instance-create ${name}",
+        creates => $config,
+        require => Package['tor'],
+        before  => File[$config],
+    }
+
+    file { $config:
+        ensure  => 'present',
+        mode    => '0444',
+        owner   => 'root',
+        group   => 'root',
+        content => template('tor/torrc.erb'),
+        require => Package['tor'],
+    }
+
+    File[$config] ~> Exec['tor-systemd-reload'] ~> Service['tor']
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/260014
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idfed5613c924a37bb543f2c61c3299174e528a2d
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Faidon Liambotis <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to