aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-10-19 15:47:43 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-11-01 11:35:59 -0700
commit6c58519f7c03a8e59092a738b65d5ace07a8eac1 (patch)
tree2e86f5196435eca890ee09c09a4ff4832265e5c7
parent0c74086ba8eae9538b4999bdb90d3cc0cdec394e (diff)
downloadconsfigurator-6c58519f7c03a8e59092a738b65d5ace07a8eac1.tar.gz
add SYSTEMD:{DAEMON-RELOADED,RELOADED,RESTARTED}
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--src/package.lisp5
-rw-r--r--src/property/systemd.lisp18
2 files changed, 22 insertions, 1 deletions
diff --git a/src/package.lisp b/src/package.lisp
index d7c7bdb..ef1d193 100644
--- a/src/package.lisp
+++ b/src/package.lisp
@@ -831,8 +831,11 @@
(defpackage :consfigurator.property.systemd
(:use #:cl #:consfigurator #:anaphora)
(:local-nicknames (#:service #:consfigurator.property.service))
- (:export #:started
+ (:export #:daemon-reloaded
+ #:started
#:stopped
+ #:reloaded
+ #:restarted
#:enabled
#:disabled
#:masked
diff --git a/src/property/systemd.lisp b/src/property/systemd.lisp
index a9f0c90..ad23867 100644
--- a/src/property/systemd.lisp
+++ b/src/property/systemd.lisp
@@ -29,6 +29,12 @@
(defun systemctl (fn user &rest args &aux (args (cons "systemctl" args)))
(apply fn (if user (apply #'systemd--user args) args)))
+(defprop daemon-reloaded :posix (&optional user)
+ (:desc "Attempt to reload systemd manager configuration")
+ (:apply (if (service:no-services-p)
+ :no-change
+ (systemctl #'mrun user "daemon-reload"))))
+
(defprop started :posix (service &optional user)
(:desc #?"systemd service ${service} started")
(:check (or (service:no-services-p)
@@ -41,6 +47,18 @@
(plusp (systemctl #'mrun user :for-exit "is-active" service))))
(:apply (systemctl #'mrun user "stop" service)))
+(defprop restarted :posix (service &optional user)
+ (:desc #?"Attempt to restart systemd service ${service}")
+ (:apply (if (service:no-services-p)
+ :no-change
+ (systemctl #'mrun user "restart" service))))
+
+(defprop reloaded :posix (service &optional user)
+ (:desc #?"Attempt to reload systemd service ${service}")
+ (:apply (if (service:no-services-p)
+ :no-change
+ (systemctl #'mrun user "reload" service))))
+
(defprop enabled :posix (service &optional user)
(:desc #?"systemd service ${service} enabled")
(:check (or (and user (service:no-services-p))