aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2023-01-15 13:25:04 +0100
committeralex <alex@pdp7.net>2023-01-15 13:25:04 +0100
commitb21a9114b3712dfa40845359ad6f67da1723dd0d (patch)
tree694f7dcf6bb5aacf5f6f7da08ff82c4fa07e3a11
parentb7e8dca0b38999b361b108e852c47ebd1ab77938 (diff)
Make tinc host file generation less noisy
-rw-r--r--personal_infra/puppet/modules/tinc/manifests/init.pp15
1 files changed, 14 insertions, 1 deletions
diff --git a/personal_infra/puppet/modules/tinc/manifests/init.pp b/personal_infra/puppet/modules/tinc/manifests/init.pp
index 9f1ab0b6..fc70a31c 100644
--- a/personal_infra/puppet/modules/tinc/manifests/init.pp
+++ b/personal_infra/puppet/modules/tinc/manifests/init.pp
@@ -22,9 +22,22 @@ class tinc($tinc_name, $tinc_location, $tinc_connect_to, $tinc_locations, $tinc_
}
$tinc_locations.each |$name, $location| {
- exec {"/bin/echo Subnet = ${location['subnet']} >/etc/tinc/${tinc_name}/hosts/${name} && echo Address = ${location['address']} >>/etc/tinc/${tinc_name}/hosts/${name} ; cat /etc/ansible/tinc/public_${location['address']}.pem >>/etc/tinc/${tinc_name}/hosts/${name}":
+ file {"/etc/tinc/${tinc_name}/generate_host_${name}.sh":
+ content => "#!/bin/sh
+
+set -ue
+
+echo Subnet = ${location['subnet']} >/etc/tinc/${tinc_name}/hosts/${name}
+echo Address = ${location['address']} >>/etc/tinc/${tinc_name}/hosts/${name}
+cat /etc/ansible/tinc/public_${location['address']}.pem >>/etc/tinc/${tinc_name}/hosts/${name}
+ ",
+ mode => '755',
+ }
+ ~>
+ exec {"/etc/tinc/${tinc_name}/generate_host_${name}.sh":
require => File["/etc/tinc/${tinc_name}/hosts"],
notify => Service["tinc@${tinc_name}"],
+ creates => "/etc/tinc/${tinc_name}/hosts/${name}",
}
}