Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Chroot where
- class ChrootBootstrapper b where
- data Debootstrapped = Debootstrapped DebootstrapConfig
- debootstrapped :: System -> DebootstrapConfig -> FilePath -> Chroot
- bootstrapped :: ChrootBootstrapper b => System -> b -> FilePath -> Chroot
- provisioned :: Chroot -> RevertableProperty
- provisioned' :: (Property HasInfo -> Property HasInfo) -> Chroot -> Bool -> RevertableProperty
- propagateChrootInfo :: IsProp (Property i) => Chroot -> Property i -> Property HasInfo
- propellChroot :: Chroot -> ([String] -> IO (CreateProcess, IO ())) -> Bool -> Property NoInfo
- chain :: [Host] -> CmdLine -> IO ()
- chrootSystem :: Chroot -> System
Documentation
Specification of a chroot. Normally you'll use debootstrapped
or
bootstrapped
to construct a Chroot value.
class ChrootBootstrapper b where Source
Class of things that can do initial bootstrapping of an operating System in a chroot.
data Debootstrapped Source
Use to bootstrap a chroot with debootstrap.
debootstrapped :: System -> DebootstrapConfig -> FilePath -> Chroot Source
Defines a Chroot at the given location, built with debootstrap.
Properties can be added to configure the Chroot.
debootstrapped (System (Debian Unstable) "amd64") Debootstrap.BuildD "/srv/chroot/ghc-dev" & Apt.installed ["ghc", "haskell-platform"] & ...
bootstrapped :: ChrootBootstrapper b => System -> b -> FilePath -> Chroot Source
Defines a Chroot at the given location, bootstrapped with the specified ChrootBootstrapper.
provisioned :: Chroot -> RevertableProperty Source
Ensures that the chroot exists and is provisioned according to its properties.
Reverting this property removes the chroot. Anything mounted inside it is first unmounted. Note that it does not ensure that any processes that might be running inside the chroot are stopped.
Internal use
provisioned' :: (Property HasInfo -> Property HasInfo) -> Chroot -> Bool -> RevertableProperty Source
propellChroot :: Chroot -> ([String] -> IO (CreateProcess, IO ())) -> Bool -> Property NoInfo Source
Propellor is run inside the chroot to provision it.
chrootSystem :: Chroot -> System Source