summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Nginx.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Propellor/Property/Nginx.hs')
-rw-r--r--src/Propellor/Property/Nginx.hs12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/Propellor/Property/Nginx.hs b/src/Propellor/Property/Nginx.hs
index 1bd285c7..c9b4d8fd 100644
--- a/src/Propellor/Property/Nginx.hs
+++ b/src/Propellor/Property/Nginx.hs
@@ -6,23 +6,17 @@ import Propellor.Base
import qualified Propellor.Property.File as File
import qualified Propellor.Property.Apt as Apt
import qualified Propellor.Property.Service as Service
-import System.Posix.Files
type ConfigFile = [String]
siteEnabled :: HostName -> ConfigFile -> RevertableProperty
siteEnabled hn cf = enable <!> disable
where
- enable = check test prop
+ enable = siteVal hn `File.isSymlinkedTo` siteValRelativeCfg hn
`describe` ("nginx site enabled " ++ hn)
`requires` siteAvailable hn cf
`requires` installed
`onChange` reloaded
- where
- test = not <$> doesFileExist (siteVal hn)
- prop = dir `File.isSymlinkedTo` target
- target = siteValRelativeCfg hn
- dir = siteVal hn
disable = trivial $ File.notPresent (siteVal hn)
`describe` ("nginx site disable" ++ hn)
`requires` installed
@@ -40,8 +34,8 @@ siteCfg hn = "/etc/nginx/sites-available/" ++ hn
siteVal :: HostName -> FilePath
siteVal hn = "/etc/nginx/sites-enabled/" ++ hn
-siteValRelativeCfg :: HostName -> FilePath
-siteValRelativeCfg hn = "../sites-available/" ++ hn
+siteValRelativeCfg :: HostName -> File.LinkTarget
+siteValRelativeCfg hn = File.LinkTarget ("../sites-available/" ++ hn)
installed :: Property NoInfo
installed = Apt.installed ["nginx"]