summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Bootstrap.hs
AgeCommit message (Collapse)Author
2019-04-08change from inChroot to granular container capabilities infoJoey Hess
* Removed inChroot, instead use hasContainerCapability FilesystemContained. (API change) * Hostname: Properties that used to not do anything in a systemd or docker container will now change the container's hostname, since it's namespaced. More container capabilities can easily be added later, to fine grain control what properties will run in different kinds of containers. This changed CmdLine's Read instance, which should be ok, because propellor inside the container is always updated at the same time as propellor outside, so when it chains into the chroot, it will know to expect the capability list. Docker was not setting InChroot before, but now sets both container capabilities, so chroot setting will also work in it. Note that, things that used to check inChroot before would not work in docker, but things that check FilesystemContained now will. It may be that some of those properties don't really work properly in docker. And, Grub.installed used to run grub-mkconfig in a docker container before, I doubt that made sense (was it even safe?); it doesn't do it now. This commit was sponsored by Trenton Cronholm on Patreon.
2019-04-01Added Utility.FileMode to the modules exported by Propellor.UtilitiesJoey Hess
Since File.mode uses FileMode, it seems it ought to be exported by propellor somewhere. I don't want to make propellor Property modules themselves export core data types though, so this is a compromise of dubious utility.
2017-11-29bootstrappedFrom: Set up local privdata file.Joey Hess
Avoid needing to --spin host deployed from disk image to let its propellor access its privdata. This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2017-07-27improve descriptionJoey Hess
2017-07-13export BuilderJoey Hess
2017-07-12add bootstrapWith property to support stack and moreJoey Hess
* Hosts can be configured to build propellor using stack, by adding a property: & bootstrapWith (Robustly Stack) * Hosts can be configured to build propellor using cabal, but using only packages installed from the operating system. This will work on eg Debian: & bootstrapWith OSOnly propellor build its config using stack. (This does not affect how propellor is bootstrapped on a host by "propellor --spin host".) This has not yet been tested at all! But should probably work fine. This is based on earlier work by Arnaud Bailly, who made Propellor.Bootstrap use stack without parameterization. In Arnaud's patch, stack was installed using wget, but that only worked on linux-x86_64 and was insecure. I instead chose to use the distribution packages of stack, like is done for cabal. Debian stack has haskell-stack now, and it's getting into many distributions. This commit was sponsored by Francois Marier on Patreon.
2017-07-04Bootstrap.bootstrappedFrom: Avoid doing anything when not run in a chroot.Joey Hess
This way, when a disk image is built using this property, and booted up, running propellor won't try to ensure this property again. This commit was sponsored by Jeff Goeke-Smith on Patreon.
2017-07-04Bootstrap.bootstrappedFrom: Fix bug that caused propellor to only be built ↵Joey Hess
from the bootstrapped config the first time. When the config changes, the bootstrapped propellor needs to get rebuilt. This commit was sponsored by Fernando Jimenez on Patreon.
2017-07-04Bootstrap.clonedFrom: Fix bug that broke copying .git/config into chroot.Joey Hess
2017-04-10copy git configuration into chrootJoey Hess
2017-04-10reorgJoey Hess
2017-04-09propellor spinJoey Hess
2017-04-09propellor spinJoey Hess
2017-04-09propellor spinJoey Hess
2017-04-09propellor spinJoey Hess
2017-04-09new approach for exposing the underlying localdir inside a chrootJoey Hess
2017-04-09well, that didnt work :(Joey Hess
2017-04-09added Propellor.Property.Bootstrap (untested)Joey Hess
This commit was sponsored by Jake Vosloo on Patreon.