Add onion service facter to learn onion hostname
[mirror/dsa-puppet.git] / modules / debian-org / lib / facter / onion-services.rb
diff --git a/modules/debian-org/lib/facter/onion-services.rb b/modules/debian-org/lib/facter/onion-services.rb
new file mode 100644 (file)
index 0000000..08aa134
--- /dev/null
@@ -0,0 +1,13 @@
+Facter.add("onion_hostname") do
+       services = {}
+
+       Dir['/var/lib/tor/onion/*/hostname'].each do |p|
+               dir = File.dirname(p)
+               service = File.basename(dir)
+               hostname = IO.read(p).chomp
+               services[service] = hostname
+       end
+       setcode do
+               services
+       end
+end