From e4650797ed226b5e9cfcf8e0c931e150ba4cf4c3 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 13 Jun 2023 15:30:31 +0200 Subject: [PATCH] pdist: Add pdistd service for distmaster(s) To implement auto-update on boot, we need a way for a client to trigger a pdist-update for itself on its distmaster. Add a service for the distmaster(s), which allows a client to do that by connecting to a fixed port on the distmaster (`telnet deinemuddah 237`). --- install.sh | 2 ++ pdist/pdistd.socket | 13 +++++++++++++ pdist/pdistd@.service | 8 ++++++++ 3 files changed, 23 insertions(+) create mode 100644 pdist/pdistd.socket create mode 100644 pdist/pdistd@.service diff --git a/install.sh b/install.sh index d58444c..165f4b3 100755 --- a/install.sh +++ b/install.sh @@ -265,6 +265,8 @@ install_data misc_etc_files/request-key.d/id_resolver.conf \ "$DESTDIR$sysconfdir/request-key.d/id_resolver.conf" install_symlink /etc/local/access.conf "$DESTDIR$sysconfdir/security/access.conf" install_data misc_etc_files/cups/client.conf "$DESTDIR$sysconfdir/cups/client.conf" +install_data pdist/pdistd.socket "$DESTDIR$systemdunitdir/pdistd.socket" +install_data pdist/pdistd@.service "$DESTDIR$systemdunitdir/pdistd@.service" postinstall exit diff --git a/pdist/pdistd.socket b/pdist/pdistd.socket new file mode 100644 index 0000000..7b4a136 --- /dev/null +++ b/pdist/pdistd.socket @@ -0,0 +1,13 @@ +[Unit] + +ConditionPathExists=/node/tags/distmaster + +[Socket] + +ListenStream=237 +ReusePort=yes +Accept=yes + +[Install] + +WantedBy=multi-user.target diff --git a/pdist/pdistd@.service b/pdist/pdistd@.service new file mode 100644 index 0000000..879136d --- /dev/null +++ b/pdist/pdistd@.service @@ -0,0 +1,8 @@ +[Unit] + +CollectMode=inactive-or-failed + +[Service] + +StandardOutput=socket +ExecStart=bash -c "read ip host <<< $(getent hosts ${REMOTE_ADDR}) ; echo update in progess... ; pdist push $host --timeout 60 --set-pdist-status"