summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorJulien Dessaux2023-01-23 17:33:53 +0100
committerJulien Dessaux2023-01-23 23:12:56 +0100
commitb6ee8f76c2883a934bcf412722e0cf83830173c9 (patch)
tree97d33cb1f4ea74e0b277a4ed6890b35bc022816e /templates
parentImported from personal ansible repository (diff)
downloadsyncthing-ansible-role-b6ee8f76c2883a934bcf412722e0cf83830173c9.tar.gz
syncthing-ansible-role-b6ee8f76c2883a934bcf412722e0cf83830173c9.tar.bz2
syncthing-ansible-role-b6ee8f76c2883a934bcf412722e0cf83830173c9.zip
Simplify fact gathering by using the cli instead of a webapi request1.1
Diffstat (limited to 'templates')
-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;