From 93c2ebba504ba843bcb0341d306d4cdc930bd61b Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 15 Jan 2023 20:17:35 +0100 Subject: Do not keep everything in 00-common.pp --- personal_infra/puppet/site/01-tinc.pp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 personal_infra/puppet/site/01-tinc.pp (limited to 'personal_infra/puppet/site/01-tinc.pp') diff --git a/personal_infra/puppet/site/01-tinc.pp b/personal_infra/puppet/site/01-tinc.pp new file mode 100644 index 00000000..148e5988 --- /dev/null +++ b/personal_infra/puppet/site/01-tinc.pp @@ -0,0 +1,26 @@ +$tinc_hosts = lookup("groups.tinc") +$tinc_other_hosts = $tinc_hosts.filter |$host_name| { $host_name != $facts["networking"]["fqdn"] } + +$tinc_locations = Hash($tinc_hosts.map |$host_name| { [ + lookup("hostvars.'$host_name'.network.tinc.location"), + { + subnet => lookup("hostvars.'$host_name'.network.self_internal_network"), + address => lookup("hostvars.'$host_name'.network.public_hostname"), + } +] }) + +$tinc_connect_to = $tinc_other_hosts.map |$host_name| { lookup("hostvars.'$host_name'.network.tinc.location") } + +$tinc_other_networks = $tinc_other_hosts.map |$host_name| { lookup("hostvars.'$host_name'.network.self_internal_network") } + +if 'tinc' in lookup("group_names") { + class {'tinc': + tinc_name => lookup("tinc_global.name"), + tinc_location => lookup("network.tinc.location"), + tinc_connect_to => $tinc_connect_to, + tinc_locations => $tinc_locations, + tinc_ip => lookup("network.self_internal_ip"), + tinc_netmask => lookup("network.self_internal_netmask"), + tinc_other_networks => $tinc_other_networks, + } +} -- cgit v1.2.3