summaryrefslogtreecommitdiffstats
path: root/modules/headscale
diff options
context:
space:
mode:
Diffstat (limited to 'modules/headscale')
-rw-r--r--modules/headscale/manifests/init.pp23
-rw-r--r--modules/headscale/templates/config.yaml11
2 files changed, 34 insertions, 0 deletions
diff --git a/modules/headscale/manifests/init.pp b/modules/headscale/manifests/init.pp
new file mode 100644
index 0000000..183285e
--- /dev/null
+++ b/modules/headscale/manifests/init.pp
@@ -0,0 +1,23 @@
+class headscale($data_dir) {
+ package { "headscale":
+ ensure => installed;
+ }
+
+ file {
+ $data_dir:
+ ensure => directory;
+ "/etc/headscale/config.yaml":
+ content => template("headscale/config.yaml"),
+ require => Package['headscale'];
+ }
+
+ service { "headscale":
+ ensure => running,
+ enable => true,
+ require => [
+ File[$data_dir],
+ File['/etc/headscale/config.yaml'],
+ Package['headscale'],
+ ];
+ }
+}
diff --git a/modules/headscale/templates/config.yaml b/modules/headscale/templates/config.yaml
new file mode 100644
index 0000000..296fdd5
--- /dev/null
+++ b/modules/headscale/templates/config.yaml
@@ -0,0 +1,11 @@
+server_url: https://headscale.tozt.net
+listen_addr: 0.0.0.0:8080
+metrics_listen_addr: 0.0.0.0:9090
+private_key_path: <%= @data_dir %>/private.key
+noise:
+ private_key_path: <%= @data_dir %>/noise_private.key
+ip_prefixes:
+ - 100.64.0.0/10
+disable_check_updates: true
+db_type: sqlite3
+db_path: <%= @data_dir %>/db.sqlite