From 7428fc1d6b4b7a740d54cbbf456d5f6306572e3b Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Fri, 29 Jul 2016 16:49:59 +0000 Subject: [PATCH] onion for www --- .../onion_global_service_hostname.rb | 23 +++++++++++++++++++ .../roles/templates/apache-www.debian.org.erb | 4 ++++ 2 files changed, 27 insertions(+) create mode 100644 modules/puppetmaster/lib/puppet/parser/functions/onion_global_service_hostname.rb diff --git a/modules/puppetmaster/lib/puppet/parser/functions/onion_global_service_hostname.rb b/modules/puppetmaster/lib/puppet/parser/functions/onion_global_service_hostname.rb new file mode 100644 index 000000000..dce774056 --- /dev/null +++ b/modules/puppetmaster/lib/puppet/parser/functions/onion_global_service_hostname.rb @@ -0,0 +1,23 @@ +# This function returns the .onion name for a given service name on Debian's onionbalance instance +# for this, it reads /srv/puppet.debian.org/puppet-facts/onionbalance-services.yaml +# this comes from the onionbalance-host, via puppet's storedconf +# +module Puppet::Parser::Functions + newfunction(:onion_global_service_hostname, :type => :rvalue) do |args| + servicename = args.shift() + + fn = '/srv/puppet.debian.org/puppet-facts/onionbalance-services.yaml' + unless File.exist?(fn) + return false + end + + facts = IO.read(fn) + + require 'json' + parsed = JSON.parse(facts) + return parsed[servicename] + end +end +# vim:set ts=2: +# vim:set et: +# vim:set shiftwidth=2: diff --git a/modules/roles/templates/apache-www.debian.org.erb b/modules/roles/templates/apache-www.debian.org.erb index 5c9d12506..195be9f28 100644 --- a/modules/roles/templates/apache-www.debian.org.erb +++ b/modules/roles/templates/apache-www.debian.org.erb @@ -91,6 +91,10 @@ ServerName debian.org ServerAdmin webmaster@debian.org + <% if scope.function_onion_global_service_hostname(['www.debian.org']) -%> + ServerAlias <%= scope.function_onion_global_service_hostname(['www.debian.org']) %> + <% end %> + ServerAlias www.at.debian.org ServerAlias www.au.debian.org ServerAlias www.bg.debian.org -- 2.20.1