stack-1.1.2: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Types.Docker

Description

Docker types.

Synopsis

Documentation

data DockerOpts Source

Docker configuration.

Constructors

DockerOpts 

Fields

dockerEnable :: !Bool

Is using Docker enabled?

dockerImage :: !String

Exact Docker image tag or ID. Overrides docker-repo-*/tag.

dockerRegistryLogin :: !Bool

Does registry require login for pulls?

dockerRegistryUsername :: !(Maybe String)

Optional username for Docker registry.

dockerRegistryPassword :: !(Maybe String)

Optional password for Docker registry.

dockerAutoPull :: !Bool

Automatically pull new images.

dockerDetach :: !Bool

Whether to run a detached container

dockerPersist :: !Bool

Create a persistent container (don't remove it when finished). Implied by dockerDetach.

dockerContainerName :: !(Maybe String)

Container name to use, only makes sense from command-line with dockerPersist or dockerDetach.

dockerRunArgs :: ![String]

Arguments to pass directly to docker run.

dockerMount :: ![Mount]

Volumes to mount in the container.

dockerEnv :: ![String]

Environment variables to set in the container.

dockerDatabasePath :: !(Path Abs File)

Location of image usage database.

dockerStackExe :: !(Maybe DockerStackExe)

Location of container-compatible stack executable

dockerSetUser :: !(Maybe Bool)

Set in-container user to match host's

dockerRequireDockerVersion :: !VersionRange

Require a version of Docker within this range.

data DockerOptsMonoid Source

An uninterpreted representation of docker options. Configurations may be "cascaded" using mappend (left-biased).

Constructors

DockerOptsMonoid 

Fields

dockerMonoidDefaultEnable :: !Any

Should Docker be defaulted to enabled (does docker: section exist in the config)?

dockerMonoidEnable :: !(First Bool)

Is using Docker enabled?

dockerMonoidRepoOrImage :: !(First DockerMonoidRepoOrImage)

Docker repository name (e.g. fpco/stack-build or fpco/stack-full:lts-2.8)

dockerMonoidRegistryLogin :: !(First Bool)

Does registry require login for pulls?

dockerMonoidRegistryUsername :: !(First String)

Optional username for Docker registry.

dockerMonoidRegistryPassword :: !(First String)

Optional password for Docker registry.

dockerMonoidAutoPull :: !(First Bool)

Automatically pull new images.

dockerMonoidDetach :: !(First Bool)

Whether to run a detached container

dockerMonoidPersist :: !(First Bool)

Create a persistent container (don't remove it when finished). Implied by dockerDetach.

dockerMonoidContainerName :: !(First String)

Container name to use, only makes sense from command-line with dockerPersist or dockerDetach.

dockerMonoidRunArgs :: ![String]

Arguments to pass directly to docker run

dockerMonoidMount :: ![Mount]

Volumes to mount in the container

dockerMonoidEnv :: ![String]

Environment variables to set in the container

dockerMonoidDatabasePath :: !(First String)

Location of image usage database.

dockerMonoidStackExe :: !(First String)

Location of container-compatible stack executable

dockerMonoidSetUser :: !(First Bool)

Set in-container user to match host's

dockerMonoidRequireDockerVersion :: !IntersectingVersionRange

See: dockerRequireDockerVersion

Instances

Show DockerOptsMonoid Source 
Generic DockerOptsMonoid Source 
Monoid DockerOptsMonoid Source

Left-biased combine Docker options

FromJSON (WithJSONWarnings DockerOptsMonoid) Source

Decode uninterpreted docker options from JSON/YAML.

type Rep DockerOptsMonoid Source 

data DockerStackExe Source

Where to get the stack executable to run in Docker containers

Constructors

DockerStackExeDownload

Download from official bindist

DockerStackExeHost

Host's stack (linux-x86_64 only)

DockerStackExeImage

Docker image's stack (versions must match)

DockerStackExePath (Path Abs File)

Executable at given path

data Mount Source

Docker volume mount.

Constructors

Mount String String 

Instances

Read Mount Source

For optparse-applicative.

Show Mount Source

Show instance.

FromJSON Mount Source

For YAML.

data DockerMonoidRepoOrImage Source

Options for Docker repository or image.

newtype VersionRangeJSON Source

Newtype for non-orphan FromJSON instance.

Instances

FromJSON VersionRangeJSON Source

Parse VersionRange.

dockerEnableArgName :: Text Source

Docker enable argument name.

dockerRepoArgName :: Text Source

Docker repo arg argument name.

dockerImageArgName :: Text Source

Docker image argument name.

dockerRegistryLoginArgName :: Text Source

Docker registry login argument name.

dockerRegistryUsernameArgName :: Text Source

Docker registry username argument name.

dockerRegistryPasswordArgName :: Text Source

Docker registry password argument name.

dockerAutoPullArgName :: Text Source

Docker auto-pull argument name.

dockerDetachArgName :: Text Source

Docker detach argument name.

dockerRunArgsArgName :: Text Source

Docker run args argument name.

dockerMountArgName :: Text Source

Docker mount argument name.

dockerEnvArgName :: Text Source

Docker environment variable argument name.

dockerContainerNameArgName :: Text Source

Docker container name argument name.

dockerPersistArgName :: Text Source

Docker persist argument name.

dockerDatabasePathArgName :: Text Source

Docker database path argument name.

dockerStackExeArgName :: Text Source

Docker database path argument name.

dockerStackExeDownloadVal :: String Source

Value for --docker-stack-exe=download

dockerStackExeHostVal :: String Source

Value for --docker-stack-exe=host

dockerStackExeImageVal :: String Source

Value for --docker-stack-exe=image

dockerSetUserArgName :: Text Source

Docker set-user argument name

dockerRequireDockerVersionArgName :: Text Source

Docker require-version argument name

dockerEntrypointArgName :: String Source

Argument name used to pass docker entrypoint data (only used internally)