summaryrefslogtreecommitdiff
path: root/src/Propellor/Property
AgeCommit message (Collapse)Author
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-23OS.preserveNetwork finally writtenJoey Hess
2015-01-23Added more network interface configuration properties.Joey Hess
2015-01-22propellor spinJoey Hess
2015-01-21reorgJoey Hess
2015-01-21propellor spinJoey Hess
2015-01-21Added journald configuration properties.Joey Hess
2015-01-21Added systemd configuration properties.Joey Hess
2015-01-19exportJoey Hess
2015-01-19split out types to improve haddock for Propellor.TypesJoey Hess
2015-01-19avoid haddock warningsJoey 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-09propellor spinJoey Hess
2015-01-08propellor spinJoey Hess
2015-01-08propellor spinJoey Hess
2015-01-08propellor spinJoey Hess
2015-01-08propellor spinJoey Hess
2015-01-08propellor spinJoey Hess
2015-01-08propellor spinJoey Hess
2015-01-06Merge Utiity modules from git-annex.Joey Hess
Except for a few that are using the other exception handling library, that propellor has not switched to yet.
2015-01-06refactor dns settings!Joey Hess
2015-01-06add update-server-info, so the repo has all current branches published over httpJoey Hess
2015-01-04SSHFP records are also generated for CNAMES of hosts.Joey Hess
2015-01-04prepJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04DNS records for hosts with known ssh public keys now automatically include ↵Joey Hess
SSHFP records.
2015-01-04Fix bug that prevented deploying ssh host keys when the file for the key ↵Joey Hess
didn't already exist. This is not a new bug.
2015-01-04cleanupJoey Hess
2015-01-04randomHostKeys is removed from CloudAtCost.deCruft.Joey Hess
2015-01-04avoid ever removing all host keysJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04Ssh.hostKey and Ssh.hostKeys no longer install public keys from the privdata.Joey Hess
Instead, the public keys of a host should be set using Ssh.pubKey.
2015-01-04Ssh.hostKeys now also installs any available SshEd25519 keys.Joey Hess
2015-01-04sshPubKey is renamed to Ssh.pubKey, and has an added SshKeyType parameter.Joey Hess
2015-01-04sshPubKey is renamed to Ssh.pubKeyJoey Hess
2015-01-04transition docsJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04add $INCLUDE of pubkeys before zone file is written, to avoid pogoingJoey Hess
2015-01-04fix serial incrementingJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04propellor spinJoey Hess
2015-01-04use separate directory for dnssec filesJoey Hess
2015-01-04resign zone if keys changeJoey Hess