diff options
| author | Joey Hess <joey@kitenet.net> | 2014-04-04 01:38:01 -0400 |
|---|---|---|
| committer | Joey Hess <joey@kitenet.net> | 2014-04-04 01:38:01 -0400 |
| commit | 336e3ccf84c50ecf41fe0212b7abc5d93947da5e (patch) | |
| tree | 1fb55e3653717bd7e5431a4c4e78bc6f3d01bdb6 /Propellor/Config/Simple.hs | |
| parent | 2e2f4ac91369adf39fed54df10864f320a8227c1 (diff) | |
| parent | 25a002605056ca5b3ad93c038b424c952f1431d1 (diff) | |
Merge branch 'joeyconfig'
Conflicts:
config.hs
Diffstat (limited to 'Propellor/Config/Simple.hs')
| -rw-r--r-- | Propellor/Config/Simple.hs | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/Propellor/Config/Simple.hs b/Propellor/Config/Simple.hs deleted file mode 100644 index 2b379b0d..00000000 --- a/Propellor/Config/Simple.hs +++ /dev/null @@ -1,55 +0,0 @@ --- | This is the main configuration file for Propellor, and is used to build --- the propellor program. - -module Propellor.Config.Simple where - -import Propellor -import Propellor.CmdLine -import qualified Propellor.Property.File as File -import qualified Propellor.Property.Apt as Apt -import qualified Propellor.Property.Network as Network ---import qualified Propellor.Property.Ssh as Ssh -import qualified Propellor.Property.Cron as Cron ---import qualified Propellor.Property.Sudo as Sudo -import qualified Propellor.Property.User as User ---import qualified Propellor.Property.Hostname as Hostname ---import qualified Propellor.Property.Reboot as Reboot ---import qualified Propellor.Property.Tor as Tor -import qualified Propellor.Property.Docker as Docker - -main :: IO () -main = defaultMain [host, Docker.containerProperties container] - --- | This is where the system's HostName, either as returned by uname --- or one specified on the command line, is converted into a list of --- Properties for that system. --- --- Edit this to configure propellor! -host :: HostName -> Maybe [Property] -host hostname@"mybox.example.com" = Just $ props - & Apt.stdSourcesList Unstable - `onChange` Apt.upgrade - & Apt.unattendedUpgrades - & Apt.installed ["etckeeper"] - & Apt.installed ["ssh"] - & User.hasSomePassword "root" - & Network.ipv6to4 - & File.dirExists "/var/www" - & Docker.docked container hostname "webserver" - & Docker.garbageCollected - & Cron.runPropellor "30 * * * *" --- add more hosts here... ---host "foo.example.com" = -host _ = Nothing - --- | This is where Docker containers are set up. A container --- can vary by hostname where it's used, or be the same everywhere. -container :: HostName -> Docker.ContainerName -> Maybe (Docker.Container) -container _ "webserver" = Just $ Docker.containerFrom "joeyh/debian-unstable" - [ Docker.publish "80:80" - , Docker.volume "/var/www:/var/www" - , Docker.inside $ props - & serviceRunning "apache2" - `requires` Apt.installed ["apache2"] - ] -container _ _ = Nothing |
