b9-2.0.0: 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
Backend Podman Source # 
Instance details

Defined in B9.Podman

Backend Docker Source # 
Instance details

Defined in B9.Docker

Backend SystemdNspawn Source # 
Instance details

Defined in B9.SystemdNspawn

Backend LibVirtLXC Source # 
Instance details

Defined in B9.LibVirtLXC