propellor-4.6.1: property-based host configuration management in haskell

Propellor.Property.Bootstrap

Description

This module contains properties that configure how Propellor bootstraps to run itself on a Host.

Synopsis

Documentation

Different ways that Propellor's dependencies can be installed, and propellor can be built. The default is Robustly Cabal

Robustly Cabal and Robustly Stack use the OS's native packages as much as possible to install Cabal, Stack, and propellor's build dependencies. When necessary, dependencies are built from source using Cabal or Stack rather than using the OS's native packages.

OSOnly uses the OS's native packages of Cabal and all of propellor's build dependencies. It may not work on all systems.

Constructors

 Robustly Builder OSOnly

Instances

 Source # MethodsshowList :: [Bootstrapper] -> ShowS #

data Builder Source #

Constructors

 Cabal Stack

Instances

 Source # MethodsshowList :: [Builder] -> ShowS #

This property can be used to configure the Bootstrapper that is used to bootstrap propellor on a Host. For example, if you want to use stack:

host "example.com" \$ props
& bootstrapWith (Robustly Stack)

When bootstrappedFrom is used in a Chroot or other Container, this property can also be added to the chroot to configure it.

Where a propellor repository should be bootstrapped from.

Constructors

 GitRepoUrl String GitRepoOutsideChroot When used in a chroot, this copies the git repository from outside the chroot, including its configuration.

Bootstraps a propellor installation into usrlocalpropellor

Normally, propellor is bootstrapped by eg, using propellor --spin, and so this property is not generally needed.

This property only does anything when used inside a Chroot or other Container. This is particularly useful inside a chroot used to build a disk image, to make the disk image have propellor installed.

The git repository is cloned (or pulled to update if it already exists).

All build dependencies are installed, using distribution packages or falling back to using cabal or stack.

Clones the propellor repository into usrlocalpropellor

If the propellor repo has already been cloned, pulls to get it up-to-date.