summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Chroot.hs
AgeCommit message (Collapse)Author
2015-10-20Chroot: Converted to use a ChrootBootstrapper type classJoey Hess
So other ways to bootstrap chroots can easily be added in separate modules. (API change)
2015-10-18fix typo: propigate → propagateFelix Gruber
2015-10-10propellor spinJoey Hess
2015-10-10Improved documentation, particularly of the Propellor module.Joey Hess
This involved some code changes, including some renaming of instance methods. (ABI change)
2015-09-30change HostContext for containersJoey Hess
Privdata that uses HostContext inside a container will now have the name of the container as its context, rather than the name of the host(s) where the container is used. This allows eg, having different passwords for a user in different containers. Note that previously, propellor would prompt using the container name as the context, but not actually use privdata using that context; so this is a bug fix. I don't entirely like the implementation; I had to put the code to change the context in PropAccum, and it's not generalized past PrivInfo.
2015-09-06Added Propellor.Property.Rsync. WIP; untestedJoey Hess
Convert Info to use Data.Dynamic, so properties can export and consume info of any type that is Typeable and a Monoid, including data types private to a module. (API change) Thanks to Joachim Breitner for the idea.
2015-06-01another try at unmounting /proc for systemd-nspawnJoey Hess
2015-06-01don't mount /proc when provisioning systemd-nspawn containerJoey Hess
While needed for chroot provisioning, it confuses system when systemd-nspawn runs it inside the container.
2015-05-30Mount /proc inside a chroot before provisioning it, to work around #787227Joey Hess
2015-05-27Export CommandParam, boolSystem, safeSystem and shellEscape from ↵Joey Hess
Propellor.Property.Cmd, so they are available for use in constricting your own Properties when using propellor as a library. Several imports of Utility.SafeCommand now redundant.
2015-01-24GADT properties seem to work (untested)Joey Hess
* Property has been converted to a GADT, and will be Property NoInfo or Property HasInfo. This was done to make sure that ensureProperty is only used on properties that do not have Info. Transition guide: - Change all "Property" to "Property NoInfo" or "Property WithInfo" (The compiler can tell you if you got it wrong!) - To construct a RevertableProperty, it is useful to use the new (<!>) operator - Constructing a list of properties can be problimatic, since Property NoInto and Property WithInfo are different types and cannot appear in the same list. To deal with this, "props" has been added, and can built up a list of properties of different types, using the same (&) and (!) operators that are used to build up a host's properties.
2015-01-24added GADT to determine between a property with info and withoutJoey Hess
Not yet used
2015-01-19exportJoey Hess
2015-01-19split out types to improve haddock for Propellor.TypesJoey Hess
2015-01-19rename HostLike to PropAccumJoey Hess
This is more general; it doesn't need to contain a Host. It would, for example, be possible to make Property itself be an instance of PropAccum.
2015-01-18Property treeJoey Hess
Properties now form a tree, instead of the flat list used before. This simplifies propigation of Info from the Properties used inside a container to the outer host; the Property that docks the container on the host can just have as child properties all the inner Properties, and their Info can then be gathered recursively. (Although in practice it still needs to be filtered, since not all Info should propigate out of a container.) Note that there is no change to how Properties are actually satisfied. Just because a Property lists some child properties, this does not mean they always have their propertySatisfy actions run. It's still up to the parent property to run those actions. That's necessary so that a container's properties can be satisfied inside it, not outside. It also allows property combinators to add the combined Properties to their childProperties list, even if, like onChange, they don't always run the child properties at all. Testing: I tested that the exact same Info is calculated before and after this change, for every Host in my config file.
2014-12-21Revert ensureProperty warning message, too many false positives in places ↵Joey Hess
where Info is correctly propigated. Better approach needed.
2014-12-21propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22pute full path to bin/propellor inside shimJoey Hess
2014-11-21split out info typesJoey Hess
2014-11-21propellor spinJoey Hess
2014-11-21add debootstrap parametersJoey Hess
2014-11-21os info propigationJoey Hess
Also, lost the systemd-nspawn parameters; I'll do that some other way.
2014-11-21fix info propigationJoey Hess
Need to propigate the full container info, not the subset used in chroot deployment.
2014-11-21systemd container may be mostly done (untested)Joey Hess
2014-11-21add missing support for reverting chrootJoey Hess
wow, that was suprisingly trivial!
2014-11-21avoid console output when chaining into chroot and not at consoleJoey Hess
2014-11-20incomplete systemd container supportJoey Hess
2014-11-20propellor spinJoey Hess
2014-11-20fix chroot info propigationJoey Hess
2014-11-20propellor spinJoey Hess
2014-11-20starting work on a Chroot moduleJoey Hess
factored out info up-propigation code rom Docker