summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess2014-12-09 00:34:24 -0400
committerJoey Hess2014-12-09 00:34:24 -0400
commitb22201e36b608ba38f4d741268d04e7de3a966b8 (patch)
tree1256a0e4df4c79a3ddfb9a8c60657155c9ba01eb
parentf8943c2036d91585f7afc3140b2442e7e78c284f (diff)
Fix Apache.siteEnabled to update the config file and reload apache when configuration has changed.
-rw-r--r--config-joey.hs14
-rw-r--r--debian/changelog2
-rw-r--r--src/Propellor/Property/Apache.hs11
3 files changed, 23 insertions, 4 deletions
diff --git a/config-joey.hs b/config-joey.hs
index 9e0cf90f..78954805 100644
--- a/config-joey.hs
+++ b/config-joey.hs
@@ -76,6 +76,20 @@ darkstar = host "darkstar.kitenet.net"
& Apt.buildDep ["git-annex"] `period` Daily
& Docker.configured
! Docker.docked gitAnnexAndroidDev
+ & website "foo"
+
+website :: String -> RevertableProperty
+website hn = Apache.siteEnabled hn apachecfg
+ where
+ apachecfg = [ "<VirtualHost *>"
+ , "DocumentRoot /tmp/xx"
+ , "<Directory /tmp/xx>"
+ , " Options Indexes FollowSymLinks Multiviews"
+ , " Order allow,deny"
+ , Apache.allowAll
+ , "</Directory>"
+ , "</VirtualHost>"
+ ]
clam :: Host
clam = standardSystem "clam.kitenet.net" Unstable "amd64"
diff --git a/debian/changelog b/debian/changelog
index 68564473..c28989d5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ propellor (1.2.0) unstable; urgency=medium
* Removed boolProperty; instead the new toResult can be used. (API change)
* Include Propellor.Property.OS, which was accidentially left out of the
cabal file in the last release.
+ * Fix Apache.siteEnabled to update the config file and reload apache when
+ configuration has changed.
-- Joey Hess <id@joeyh.name> Tue, 09 Dec 2014 00:05:09 -0400
diff --git a/src/Propellor/Property/Apache.hs b/src/Propellor/Property/Apache.hs
index 1d9c35ce..1ce187d8 100644
--- a/src/Propellor/Property/Apache.hs
+++ b/src/Propellor/Property/Apache.hs
@@ -11,12 +11,15 @@ type ConfigFile = [String]
siteEnabled :: HostName -> ConfigFile -> RevertableProperty
siteEnabled hn cf = RevertableProperty enable disable
where
- enable = check (not <$> isenabled) $
- cmdProperty "a2ensite" ["--quiet", hn]
- `describe` ("apache site enabled " ++ hn)
- `requires` siteAvailable hn cf
+ enable = combineProperties ("apache site enabled " ++ hn)
+ [ siteAvailable hn cf
`requires` installed
`onChange` reloaded
+ , check (not <$> isenabled) $
+ cmdProperty "a2ensite" ["--quiet", hn]
+ `requires` installed
+ `onChange` reloaded
+ ]
disable = combineProperties
("apache site disabled " ++ hn)
(map File.notPresent (siteCfg hn))