summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Docker.hs
AgeCommit message (Collapse)Author
2015-06-16Replace String type synonym Docker.Image by a data type which allows to ↵Antoine Eiche
specify an image name and an optional tag. This also introduces the class ImageIdentifier which is internally used by some Docker methods.
2015-06-04Add Docker environment property which allows to specify environment ↵Antoine Eiche
variables to containers.
2015-06-01Docker: volume and publish accept Bound FilePath and Bound Port, ↵Joey Hess
respectively. They also continue to accept Strings, for backwards compatability.
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-05-24remove unnecessary use of ensurePropertyJoey Hess
2015-05-16add trivial HasImage instance for ImageJoey Hess
2015-05-16Add HasImage type class which provides getImageName method to extract an ↵Antoine Eiche
image name. Image related functions now require a HasImage instance.
2015-05-12Docker images related properties.Antoine Eiche
- a property to pull image from standard Docker Hub registry. - a property to build image from a local directory (with a Dockerfile).
2015-05-12add Docker.Container field labels containerImage and containerHostAntoine Eiche
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-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.
2015-01-01Detect #774376 and refuse to use docker if the system is so broken that ↵Joey Hess
docker exec doesn't enter a chroot.
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-12-14broke up big function to describe PrivDataFieldJoey Hess
2014-12-09improve haddock formating of filenamesJoey Hess
2014-12-08propellor spinJoey Hess
(cherry picked from commit 1d02d589c79781cc4b0bd82467edbdf64c40f34d)
2014-11-27remove -i, seems not needed and may be causing problemJoey Hess
2014-11-22pute full path to bin/propellor inside shimJoey Hess
2014-11-21split out info typesJoey Hess
2014-11-20propellor spinJoey Hess
2014-11-20starting work on a Chroot moduleJoey Hess
factored out info up-propigation code rom Docker
2014-11-20fix docker container provisioningJoey Hess
Since the containers are no longer on the host list, they were not found while provisioning, oops. To fix, had to add to a host's info a map of the containers docked to it. Unfortunately, that required Propellor.Types.Info be glommed into Propellor.Types, since it needed to refer to Host.
2014-11-19separate docker container typeJoey Hess
Docker containers are now a separate data type, cannot be included in the main host list, and are instead passed to Docker.docked. (API change)
2014-11-19improve displayJoey Hess
2014-11-19propellor spinJoey Hess
2014-11-19prevent multiple concurrent provisioning inside docker containerJoey Hess
Lock a lock file while provisioning inside, otherwise propellor could be running to init the container when the system has just booted, or the container was just started from being stopped, and at the same time, propellor run outside the container chains into it to provision. Previously, simplesh prevented this in a different way.
2014-11-19propellor spinJoey Hess
2014-11-19propellor spinJoey Hess
2014-11-19propellor spinJoey Hess
2014-11-18remove --docker; use ContinueJoey Hess
And --chain was already not used.
2014-11-18fix color display when running propellor inside dockerJoey Hess
2014-11-08Docker: Stop using docker.io; that was a compat symlink in the Debian ↵Joey Hess
package which has been removed in docker.io 1.3.1~dfsg1-2.
2014-10-23don't need RestartPolicy data type; simplifyJoey Hess
2014-10-23Fix loop when a docker host that does not exist was docked.Joey Hess
The problem is it fell back to looking for an alias for the bad hostname, but to get the aliases, it needs to know which hosts are docked where, so looped.
2014-10-23Revert "Revert "Revert "propellor spin"""Joey Hess
This reverts commit 26bef2486d27b2cde6feda633c6a7509675a3fe5.
2014-10-23Revert "Revert "propellor spin""Joey Hess
This reverts commit 8d353813bf1e4d0c64f33cf2beed0938eeca92b4.
2014-10-23Revert "propellor spin"Joey Hess
This reverts commit ac7b182b5a0f3711414757d05bb461385516e700.
2014-10-23propellor spinJoey Hess
2014-10-23Revert "propellor spin"Joey Hess
This reverts commit 80f5b53f1b7fdc876d5e45df68c29f53bd9666b2.
2014-10-23Revert "propellor spin"Joey Hess
This reverts commit 45ce3a5e8ccf90e357dbaf6e0152daa4de88b7fd.
2014-10-23propellor spinJoey Hess
2014-10-23propellor spinJoey Hess
2014-10-23Revert "propellor spin"Joey Hess
This reverts commit 7637ea0af9ff4056cbdc16f25016785442d4b97e.
2014-10-23propellor spinJoey Hess
2014-10-23propellor spinJoey Hess
2014-10-23bugfixJoey Hess