aboutsummaryrefslogtreecommitdiff
path: root/src/property/apache.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-06-24 11:40:45 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-06-25 16:10:57 -0700
commitf25f919159424360e010e94b566c2fa158e5ab78 (patch)
treee16e902febc731c4ac80c620dbee441a748377ea /src/property/apache.lisp
parent67b0fea82ecef2e3d527bec3a16745d91dd7b0ef (diff)
downloadconsfigurator-f25f919159424360e010e94b566c2fa158e5ab78.tar.gz
add APACHE:CONF-AVAILABLE & optional arg to APACHE:CONF-ENABLED
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/property/apache.lisp')
-rw-r--r--src/property/apache.lisp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/property/apache.lisp b/src/property/apache.lisp
index f718631..7de7cdd 100644
--- a/src/property/apache.lisp
+++ b/src/property/apache.lisp
@@ -39,14 +39,24 @@
(on-change (%mod-enabled name)
(reloaded)))
+(defproplist conf-available :posix (name config)
+ (:desc #?"Apache conf ${name} available")
+ (file:exists-with-content
+ (merge-pathnames (strcat name ".conf") #P"/etc/apache2/conf-available/")
+ config))
+
(defprop %conf-enabled :posix (name)
(:hostattrs (os:required 'os:debianlike))
(:check (zerop (mrun :for-exit "a2query" "-q" "-c" name)))
(:apply (mrun "a2enconf" "--quiet" name))
(:unapply (mrun "a2disconf" "--quiet" name)))
-(defproplist conf-enabled :posix (name)
+(defpropspec conf-enabled :posix (name &optional config)
(:desc #?"Apache configuration ${name} enabled")
- (installed)
- (on-change (%conf-enabled name)
- (reloaded)))
+ `(eseqprops
+ (installed)
+ (on-change ,(if config
+ `(eseqprops (conf-available ,name ,config)
+ (%conf-enabled ,name))
+ `(%conf-enabled ,name))
+ (reloaded))))