summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFĂ©lix Sipma2015-10-16 20:40:48 +0200
committerJoey Hess2015-10-16 15:15:16 -0400
commit51d8c2000f46b9c0a8f45ce8d927f23ef5b6193f (patch)
tree05e0ed1b60605ca3fa136568dc018f1fecbe6771
parent7956a6f6565a44ef773df428e8eb9bdf0dbf51ed (diff)
convert symlink properties to File.isSymlinkedTo
-rw-r--r--src/Propellor/Property/Nginx.hs3
-rw-r--r--src/Propellor/Property/Prosody.hs3
-rw-r--r--src/Propellor/Property/SiteSpecific/JoeySites.hs33
-rw-r--r--src/Propellor/Property/Uwsgi.hs3
4 files changed, 18 insertions, 24 deletions
diff --git a/src/Propellor/Property/Nginx.hs b/src/Propellor/Property/Nginx.hs
index d0d4d3a9..1bd285c7 100644
--- a/src/Propellor/Property/Nginx.hs
+++ b/src/Propellor/Property/Nginx.hs
@@ -20,8 +20,7 @@ siteEnabled hn cf = enable <!> disable
`onChange` reloaded
where
test = not <$> doesFileExist (siteVal hn)
- prop = property "nginx site in place" $ makeChange $
- createSymbolicLink target dir
+ prop = dir `File.isSymlinkedTo` target
target = siteValRelativeCfg hn
dir = siteVal hn
disable = trivial $ File.notPresent (siteVal hn)
diff --git a/src/Propellor/Property/Prosody.hs b/src/Propellor/Property/Prosody.hs
index 78a2c529..7dbfb1e1 100644
--- a/src/Propellor/Property/Prosody.hs
+++ b/src/Propellor/Property/Prosody.hs
@@ -22,8 +22,7 @@ confEnabled conf cf = enable <!> disable
`onChange` reloaded
where
test = not <$> doesFileExist (confValPath conf)
- prop = property "prosody conf in place" $ makeChange $
- createSymbolicLink target dir
+ prop = dir `File.isSymlinkedTo` target
target = confValRelativePath conf
dir = confValPath conf
confValRelativePath conf' = "../conf.avail" </> conf' <.> "cfg.lua"
diff --git a/src/Propellor/Property/SiteSpecific/JoeySites.hs b/src/Propellor/Property/SiteSpecific/JoeySites.hs
index 3f3205e6..25062b42 100644
--- a/src/Propellor/Property/SiteSpecific/JoeySites.hs
+++ b/src/Propellor/Property/SiteSpecific/JoeySites.hs
@@ -96,11 +96,8 @@ oldUseNetServer hosts = propertyList "olduse.net server" $ props
& oldUseNetInstalled "oldusenet-server"
& oldUseNetBackup
& check (not . isSymbolicLink <$> getSymbolicLinkStatus newsspool)
- (property "olduse.net spool in place" $ makeChange $ do
- removeDirectoryRecursive newsspool
- createSymbolicLink (datadir </> "news") newsspool
- )
- & "/etc/news/leafnode/config" `File.hasContent`
+ (newsspool `File.isSymlinkedTo` (datadir </> "news"))
+ & "/etc/news/leafnode/config" `File.hasContent`
[ "# olduse.net configuration (deployed by propellor)"
, "expire = 1000000" -- no expiry via texpire
, "server = " -- no upstream server
@@ -260,7 +257,7 @@ annexWebSite origin hn uuid remotes = propertyList (hn ++" website using git-ann
dir = "/srv/web/" ++ hn
postupdatehook = dir </> ".git/hooks/post-update"
setup = userScriptProperty (User "joey") setupscript
- setupscript =
+ setupscript =
[ "cd " ++ shellEscape dir
, "git annex reinit " ++ shellEscape uuid
] ++ map addremote remotes ++
@@ -294,7 +291,7 @@ apachecfg hn withssl middle
| withssl = vhost False ++ vhost True
| otherwise = vhost False
where
- vhost ssl =
+ vhost ssl =
[ "<VirtualHost *:"++show port++">"
, " ServerAdmin grue@joeyh.name"
, " ServerName "++hn++":"++show port
@@ -319,13 +316,13 @@ apachecfg hn withssl middle
mainhttpscert :: Bool -> Apache.ConfigFile
mainhttpscert False = []
-mainhttpscert True =
+mainhttpscert True =
[ " SSLEngine on"
, " SSLCertificateFile /etc/ssl/certs/web.pem"
, " SSLCertificateKeyFile /etc/ssl/private/web.pem"
, " SSLCertificateChainFile /etc/ssl/certs/startssl.pem"
]
-
+
gitAnnexDistributor :: Property HasInfo
gitAnnexDistributor = combineProperties "git-annex distributor, including rsync server and signer" $ props
& Apt.installed ["rsync"]
@@ -352,7 +349,7 @@ downloads hosts = annexWebSite "/srv/git/downloads.git"
"840760dc-08f0-11e2-8c61-576b7e66acfd"
[("eubackup", "ssh://eubackup.kitenet.net/~/lib/downloads/")]
`requires` Ssh.knownHost hosts "eubackup.kitenet.net" (User "joey")
-
+
tmp :: Property HasInfo
tmp = propertyList "tmp.kitenet.net" $ props
& annexWebSite "/srv/git/joey/tmp.git"
@@ -376,7 +373,7 @@ twitRss = combineProperties "twitter rss" $ props
"./twitRss " ++ shellEscape url ++ " > " ++ shellEscape ("../" ++ desc ++ ".rss")
compiled = userScriptProperty (User "joey")
[ "cd " ++ dir
- , "ghc --make twitRss"
+ , "ghc --make twitRss"
]
`requires` Apt.installed
[ "libghc-xml-dev"
@@ -438,7 +435,7 @@ githubBackup = propertyList "github-backup box" $ props
gitriddance (r, msg) = "(cd " ++ r ++ " && gitriddance " ++ shellEscape msg ++ ")"
githubKeys :: Property HasInfo
-githubKeys =
+githubKeys =
let f = "/home/joey/.github-keys"
in File.hasPrivContent f anyContext
`onChange` File.ownerGroup f (User "joey") (Group "joey")
@@ -502,14 +499,14 @@ kiteMailServer = propertyList "kitenet.net mail server" $ props
] `onChange` Service.restarted "spamassassin"
`describe` "spamd enabled"
`requires` Apt.serviceInstalledRunning "cron"
-
+
& Apt.serviceInstalledRunning "spamass-milter"
-- Add -m to prevent modifying messages Subject or body.
& "/etc/default/spamass-milter" `File.containsLine`
"OPTIONS=\"-m -u spamass-milter -i 127.0.0.1\""
`onChange` Service.restarted "spamass-milter"
`describe` "spamass-milter configured"
-
+
& Apt.serviceInstalledRunning "amavisd-milter"
& "/etc/default/amavisd-milter" `File.containsLines`
[ "# Propellor deployed"
@@ -629,7 +626,7 @@ kiteMailServer = propertyList "kitenet.net mail server" $ props
`onChange` Postfix.dedupMainCf
`onChange` Postfix.reloaded
`describe` "postfix configured"
-
+
& Apt.serviceInstalledRunning "dovecot-imapd"
& Apt.serviceInstalledRunning "dovecot-pop3d"
& "/etc/dovecot/conf.d/10-mail.conf" `File.containsLine`
@@ -666,7 +663,7 @@ kiteMailServer = propertyList "kitenet.net mail server" $ props
, "inbox-path={localhost/novalidate-cert/NoRsh}inbox"
]
`describe` "pine configured to use local imap server"
-
+
& Apt.serviceInstalledRunning "mailman"
where
ctx = Context "kitenet.net"
@@ -816,7 +813,7 @@ legacyWebSites = propertyList "legacy web sites" $ props
, "RewriteRule ^/joey/index.html http://www.kitenet.net/joey/ [R]"
, "RewriteRule ^/wifi http://www.kitenet.net/wifi/ [R]"
, "RewriteRule ^/wifi/index.html http://www.kitenet.net/wifi/ [R]"
-
+
, "# Old ikiwiki filenames for kitenet.net wiki."
, "rewritecond $1 !^/~"
, "rewritecond $1 !^/doc/"
@@ -903,7 +900,7 @@ legacyWebSites = propertyList "legacy web sites" $ props
, "rewritecond $1 !.*/index$"
, "rewriterule (.+).rss$ http://joeyh.name/$1/index.rss [l]"
-
+
, "# Redirect all to joeyh.name."
, "rewriterule (.*) http://joeyh.name$1 [r]"
]
diff --git a/src/Propellor/Property/Uwsgi.hs b/src/Propellor/Property/Uwsgi.hs
index 8beea17a..c6ae880b 100644
--- a/src/Propellor/Property/Uwsgi.hs
+++ b/src/Propellor/Property/Uwsgi.hs
@@ -22,8 +22,7 @@ appEnabled an cf = enable <!> disable
`onChange` reloaded
where
test = not <$> doesFileExist (appVal an)
- prop = property "uwsgi app in place" $ makeChange $
- createSymbolicLink target dir
+ prop = dir `File.isSymlinkedTo` target
target = appValRelativeCfg an
dir = appVal an
disable = trivial $ File.notPresent (appVal an)