aboutsummaryrefslogtreecommitdiff
path: root/templates/syncthing.fact
diff options
context:
space:
mode:
Diffstat (limited to 'templates/syncthing.fact')
-rw-r--r--templates/syncthing.fact20
1 files changed, 20 insertions, 0 deletions
diff --git a/templates/syncthing.fact b/templates/syncthing.fact
new file mode 100644
index 0000000..406366b
--- /dev/null
+++ b/templates/syncthing.fact
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+###############################################################################
+# \_o< WARNING : This file is being managed by ansible! >o_/ #
+# ~~~~ ~~~~ #
+###############################################################################
+
+use strict;
+use warnings;
+
+use JSON::PP;
+
+`doas -u {{ syncthing_pre.user_group }} syncthing generate --config {{ syncthing_pre.config_dir }} 2>&1` unless -e "{{ syncthing_pre.config_dir }}/config.xml";
+
+my $id = `doas -u {{ syncthing_pre.user_group }} syncthing -device-id --config {{ syncthing_pre.config_dir }} --data {{ syncthing_pre.data_dir }} 2>&1`;
+chomp $id;
+
+my %output = (
+ 'id' => $id,
+);
+print encode_json \%output;