Tor - allow specification of hidden service directory
Currently, the puppet module for Tor will create multiple hidden services, one for each time you define a new tor::daemon:hidden_service.
For simplicity, we want there to be a single hidden service per node. So we need some way to pass into tor::daemon::hidden_service a variable that says 'dont start a new one'. Here is an example
site_webapp/manifests/hidden_service.pp: tor::daemon::hidden_service { 'webapp': ports => '80 127.0.0.1:80', hidden_service => 'shared' } site_xmpp/manifests/hidden_service.pp: tor::daemon::hidden_service { 'xmpp': ports => '666 127.0.0.1:666', hidden_service => 'shared' }
proposed changes to tor::daemon::hidden_service
+ directory = hidden_service || name (pseudocode) # hidden service <%= name %> + HiddenServiceDir <%= data_dir %>/<%= directory %> - HiddenServiceDir <%= data_dir %>/<%= name %> <%- for port in ports -%> HiddenServicePort <%= port %> <%- end -%>
without hidden_service => shared
HiddenServiceDir xxx/webapp HiddenServicePort 80 HiddenServiceDir xxx/xmpp HiddenServicePort 666
with hidden_service => shared
HiddenServiceDir xxx/shared HiddenServicePort 80 HiddenServiceDir xxx/shared HiddenServicePort 666
(from redmine: created on 2014-11-04)