diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-10-10 15:17:15 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-10-10 15:17:15 -0400 |
| commit | 480a25aaa804208d76cd362c9a6bd222ec66dee6 (patch) | |
| tree | 7fae0a11735caab29e5c1106a243d7527b25e3d8 /src/Propellor.hs | |
| parent | 1799f634d89f588eeaef6ff2f6226adf5add3389 (diff) | |
| parent | 63d653ee19b0f1bf2f4115d9f4ae9a93b00bae90 (diff) | |
Merge branch 'joeyconfig'
Diffstat (limited to 'src/Propellor.hs')
| -rw-r--r-- | src/Propellor.hs | 74 |
1 files changed, 35 insertions, 39 deletions
diff --git a/src/Propellor.hs b/src/Propellor.hs index 51079ed0..4f777f11 100644 --- a/src/Propellor.hs +++ b/src/Propellor.hs @@ -1,15 +1,12 @@ -{-# LANGUAGE PackageImports #-} +{-# OPTIONS_GHC -fno-warn-duplicate-exports #-} --- | Pulls in lots of useful modules for building and using Properties. --- --- When propellor runs on a Host, it ensures that its list of Properties +-- | When propellor runs on a Host, it ensures that its list of Properties -- is satisfied, taking action as necessary when a Property is not -- currently satisfied. -- -- A simple propellor program example: -- -- > import Propellor --- > import Propellor.CmdLine -- > import qualified Propellor.Property.File as File -- > import qualified Propellor.Property.Apt as Apt -- > @@ -30,54 +27,53 @@ -- git clone <git://git.joeyh.name/propellor> module Propellor ( - module Propellor.Types + -- * Core data types + Host(..) + , Property + , RevertableProperty + , (<!>) + -- * Core config file + , defaultMain + , host + , (&) + , (!) + , describe + -- * Combining properties + -- | Properties are often combined together in your propellor + -- configuration. For example: + -- + -- > "/etc/foo/config" `File.containsLine` "bar=1" + -- > `requires` File.dirExists "/etc/foo" + , requires + , before + , onChange + -- * Included modules + -- | These are only the core modules you'll need. There are many + -- more in propellor that you can import. + , module Propellor.Types + -- | Additional data types used by propellor , module Propellor.Property - , module Propellor.Property.List + -- | Everything you need to build your own properties, + -- and useful property combinators , module Propellor.Property.Cmd - , module Propellor.PropAccum + -- | Properties to run shell commands , module Propellor.Info - , module Propellor.PrivData + -- | Properties that set `Info` + , module Propellor.Property.List + -- | Combining a list of properties into a single property , module Propellor.Types.PrivData - , module Propellor.Engine - , module Propellor.Exception - , module Propellor.Message - , localdir + -- | Private data access for properties , module X ) where import Propellor.Types +import Propellor.CmdLine (defaultMain) import Propellor.Property -import Propellor.Engine import Propellor.Property.List import Propellor.Property.Cmd -import Propellor.PrivData import Propellor.Types.PrivData -import Propellor.Message -import Propellor.Exception import Propellor.Info import Propellor.PropAccum -import Utility.PartialPrelude as X -import Utility.Process as X -import Utility.Exception as X -import Utility.Env as X -import Utility.Directory as X -import Utility.Tmp as X -import Utility.Monad as X -import Utility.Misc as X - -import System.Directory as X -import System.IO as X -import System.FilePath as X -import Data.Maybe as X -import Data.Either as X -import Control.Applicative as X -import Control.Monad as X import Data.Monoid as X -import Control.Monad.IfElse as X -import "mtl" Control.Monad.Reader as X - --- | This is where propellor installs itself when deploying a host. -localdir :: FilePath -localdir = "/usr/local/propellor" |
