diff options
| author | alex <alex@pdp7.net> | 2023-01-15 20:17:35 +0100 |
|---|---|---|
| committer | alex <alex@pdp7.net> | 2023-01-15 20:17:35 +0100 |
| commit | 93c2ebba504ba843bcb0341d306d4cdc930bd61b (patch) | |
| tree | c239d560ff0d5070bbad078bcc7d73bd556dc5e3 /personal_infra/puppet/site/01-tinc.pp | |
| parent | 91b860b256948067bd60b472821f164e140dd97a (diff) | |
Do not keep everything in 00-common.pp
Diffstat (limited to 'personal_infra/puppet/site/01-tinc.pp')
| -rw-r--r-- | personal_infra/puppet/site/01-tinc.pp | 26 |
1 files changed, 26 insertions, 0 deletions
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, + } +} |
