hapistrano-0.4.7.0: A deployment library for Haskell applications
Copyright© 2015-Present Stack Builders
LicenseMIT
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

System.Hapistrano.Types

Description

Type definitions for the Hapistrano tool.

Synopsis

Documentation

newtype Hapistrano a Source #

Hapistrano monad.

Constructors

Hapistrano 

Fields

Instances

Instances details
MonadIO Hapistrano Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

liftIO :: IO a -> Hapistrano a #

Applicative Hapistrano Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

pure :: a -> Hapistrano a #

(<*>) :: Hapistrano (a -> b) -> Hapistrano a -> Hapistrano b #

liftA2 :: (a -> b -> c) -> Hapistrano a -> Hapistrano b -> Hapistrano c #

(*>) :: Hapistrano a -> Hapistrano b -> Hapistrano b #

(<*) :: Hapistrano a -> Hapistrano b -> Hapistrano a #

Functor Hapistrano Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

fmap :: (a -> b) -> Hapistrano a -> Hapistrano b #

(<$) :: a -> Hapistrano b -> Hapistrano a #

Monad Hapistrano Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(>>=) :: Hapistrano a -> (a -> Hapistrano b) -> Hapistrano b #

(>>) :: Hapistrano a -> Hapistrano b -> Hapistrano b #

return :: a -> Hapistrano a #

MonadCatch Hapistrano Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

catch :: Exception e => Hapistrano a -> (e -> Hapistrano a) -> Hapistrano a #

MonadThrow Hapistrano Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

throwM :: Exception e => e -> Hapistrano a #

MonadReader Config Hapistrano Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

ask :: Hapistrano Config #

local :: (Config -> Config) -> Hapistrano a -> Hapistrano a #

reader :: (Config -> a) -> Hapistrano a #

data Failure Source #

Failure with status code and a message.

Constructors

Failure Int (Maybe String) 

Instances

Instances details
Show Failure Source # 
Instance details

Defined in System.Hapistrano.Types

data Config Source #

Hapistrano configuration options.

Constructors

Config 

Fields

Instances

Instances details
MonadReader Config Hapistrano Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

ask :: Hapistrano Config #

local :: (Config -> Config) -> Hapistrano a -> Hapistrano a #

reader :: (Config -> a) -> Hapistrano a #

data Source Source #

The source of the repository. It can be from a version control provider like GitHub or a local directory.

Constructors

GitRepository 

Fields

LocalDirectory 

Fields

Instances

Instances details
Show Source Source # 
Instance details

Defined in System.Hapistrano.Types

Eq Source Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(==) :: Source -> Source -> Bool #

(/=) :: Source -> Source -> Bool #

Ord Source Source # 
Instance details

Defined in System.Hapistrano.Types

data Task Source #

The records describes deployment task.

Constructors

Task 

Fields

Instances

Instances details
Show Task Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

showsPrec :: Int -> Task -> ShowS #

show :: Task -> String #

showList :: [Task] -> ShowS #

Eq Task Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(==) :: Task -> Task -> Bool #

(/=) :: Task -> Task -> Bool #

Ord Task Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

compare :: Task -> Task -> Ordering #

(<) :: Task -> Task -> Bool #

(<=) :: Task -> Task -> Bool #

(>) :: Task -> Task -> Bool #

(>=) :: Task -> Task -> Bool #

max :: Task -> Task -> Task #

min :: Task -> Task -> Task #

data ReleaseFormat Source #

Release format mode.

Constructors

ReleaseShort

Standard release path following Capistrano's format

ReleaseLong

Long release path including picoseconds

Instances

Instances details
FromJSON ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Bounded ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Enum ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Read ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Show ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Eq ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Ord ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

data SshOptions Source #

SSH options.

Constructors

SshOptions 

Fields

data OutputDest Source #

Output destination.

Constructors

StdoutDest 
StderrDest 

Instances

Instances details
Bounded OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Enum OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Read OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Show OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Eq OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Ord OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

data Release Source #

Release indentifier.

Instances

Instances details
Show Release Source # 
Instance details

Defined in System.Hapistrano.Types

Eq Release Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(==) :: Release -> Release -> Bool #

(/=) :: Release -> Release -> Bool #

Ord Release Source # 
Instance details

Defined in System.Hapistrano.Types

data TargetSystem Source #

Target's system where application will be deployed.

Constructors

GNULinux 
BSD 

Instances

Instances details
FromJSON TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Config

Bounded TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Enum TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Read TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Show TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Eq TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Ord TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

data DeployState Source #

State of the deployment after running hap deploy. note: the Unknown value is not intended to be written to the .hapistrano_deploy_state file; instead, it's intended to represent whenever Hapistrano couldn't get the information on the deployment state (e.g. the file is not present).

Constructors

Fail 
Success 
Unknown 

Instances

Instances details
Bounded DeployState Source # 
Instance details

Defined in System.Hapistrano.Types

Enum DeployState Source # 
Instance details

Defined in System.Hapistrano.Types

Read DeployState Source # 
Instance details

Defined in System.Hapistrano.Types

Show DeployState Source # 
Instance details

Defined in System.Hapistrano.Types

Eq DeployState Source # 
Instance details

Defined in System.Hapistrano.Types

Ord DeployState Source # 
Instance details

Defined in System.Hapistrano.Types

data Shell Source #

Current shells supported.

Constructors

Bash 
Zsh 

Instances

Instances details
FromJSON Shell Source # 
Instance details

Defined in System.Hapistrano.Types

Show Shell Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

showsPrec :: Int -> Shell -> ShowS #

show :: Shell -> String #

showList :: [Shell] -> ShowS #

Eq Shell Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(==) :: Shell -> Shell -> Bool #

(/=) :: Shell -> Shell -> Bool #

Ord Shell Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

compare :: Shell -> Shell -> Ordering #

(<) :: Shell -> Shell -> Bool #

(<=) :: Shell -> Shell -> Bool #

(>) :: Shell -> Shell -> Bool #

(>=) :: Shell -> Shell -> Bool #

max :: Shell -> Shell -> Shell #

min :: Shell -> Shell -> Shell #

data Opts Source #

Command line options.

Constructors

Opts 

data Command Source #

Command to execute and command-specific options.

Constructors

Deploy (Maybe ReleaseFormat) (Maybe Natural) Bool

Deploy a new release (with timestamp format, how many releases to keep, and whether the failed releases except the latest one get deleted or not)

Rollback Natural

Rollback to Nth previous release

Maintenance MaintenanceOptions 

data MaintenanceOptions Source #

Maintenance options

Constructors

Enable 
Disable 

Types helpers

mkRelease :: ReleaseFormat -> UTCTime -> Release Source #

Create a Release indentifier.

releaseTime :: Release -> UTCTime Source #

Extract deployment time from Release.

renderRelease :: Release -> String Source #

Render Release indentifier as a Value.

parseRelease :: String -> Maybe Release Source #

Parse Release identifier from a Value.

fromMaybeReleaseFormat :: Maybe ReleaseFormat -> Maybe ReleaseFormat -> ReleaseFormat Source #

Get release format based on the CLI and file configuration values.

fromMaybeKeepReleases :: Maybe Natural -> Maybe Natural -> Natural Source #

Get keep releases based on the CLI and file configuration values.

toMaybePath :: Source -> Maybe (Path Abs Dir) Source #

Get the local path to copy from the Source configuration value.