diff options
| author | Joey Hess <joey@kitenet.net> | 2014-04-02 12:13:39 -0400 |
|---|---|---|
| committer | Joey Hess <joey@kitenet.net> | 2014-04-02 13:18:08 -0400 |
| commit | 526bcbf093af665f316a0ba4d1a836786ab66dcf (patch) | |
| tree | d4ceb9ec125587cfac37cb50c178fcc4624dcedf /config.hs.simple | |
| parent | 7705f65ae22f38989f404c77de4d661b652e692e (diff) | |
type-safe reversions
Diffstat (limited to 'config.hs.simple')
| -rw-r--r-- | config.hs.simple | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/config.hs.simple b/config.hs.simple deleted file mode 100644 index 5e9f8c3c..00000000 --- a/config.hs.simple +++ /dev/null @@ -1,55 +0,0 @@ --- | This is the main configuration file for Propellor, and is used to build --- the propellor program. - -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.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 - [ Apt.stdSourcesList Unstable - `onChange` Apt.upgrade - , Apt.unattendedUpgrades True - , Apt.installed ["etckeeper"] - , Apt.installed ["ssh"] - , User.hasSomePassword "root" - , Network.ipv6to4 - , Docker.docked container hostname "webserver" - `requires` File.dirExists "/var/www" - , 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" - (image $ System (Debian Unstable) "amd64") - [ Docker.publish "80:80" - , Docker.volume "/var/www:/var/www" - , Docker.inside - [ serviceRunning "apache2" - `requires` Apt.installed ["apache2"] - ] - ] -container _ _ = Nothing |
