b9-3.2.3: A tool and library for building virtual machine images.
Safe HaskellNone
LanguageHaskell2010

B9.Container

Description

An interface for container backends such as libvirt-lxc or docker

Synopsis

Documentation

class Backend config where Source #

Class of backends that run a Script in an ExecEnv in an OS-level container like docker or lxc.

Minimal complete definition

getBackendConfig, runInEnvironment

Methods

getBackendConfig :: forall proxy e. (Member BuildInfoReader e, CommandIO e) => proxy config -> Eff e (Maybe config) Source #

Return Nothing if the configuration **disables** this container backend, and return 'Just ...' if the configuration **enables** this container backend.

supportedImageTypes :: proxy config -> [ImageType] Source #

The input images, that a given container accepts

runInEnvironment :: forall e. (Member BuildInfoReader e, CommandIO e, Member ExcB9 e) => config -> ExecEnv -> Script -> Eff e Bool Source #

Run a Script in an ExecEnv, and return True if the script completed successfully.

Instances

Instances details
Backend Podman Source # 
Instance details

Defined in B9.Podman

Methods

getBackendConfig :: forall proxy (e :: [Type -> Type]). (Member BuildInfoReader e, CommandIO e) => proxy Podman -> Eff e (Maybe Podman) Source #

supportedImageTypes :: proxy Podman -> [ImageType] Source #

runInEnvironment :: forall (e :: [Type -> Type]). (Member BuildInfoReader e, CommandIO e, Member ExcB9 e) => Podman -> ExecEnv -> Script -> Eff e Bool Source #

Backend Docker Source # 
Instance details

Defined in B9.Docker

Methods

getBackendConfig :: forall proxy (e :: [Type -> Type]). (Member BuildInfoReader e, CommandIO e) => proxy Docker -> Eff e (Maybe Docker) Source #

supportedImageTypes :: proxy Docker -> [ImageType] Source #

runInEnvironment :: forall (e :: [Type -> Type]). (Member BuildInfoReader e, CommandIO e, Member ExcB9 e) => Docker -> ExecEnv -> Script -> Eff e Bool Source #

Backend SystemdNspawn Source # 
Instance details

Defined in B9.SystemdNspawn

Backend LibVirtLXC Source # 
Instance details

Defined in B9.LibVirtLXC