summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Dns.hs
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-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-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-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-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
2015-01-04DNS WIPJoey Hess
2015-01-03stub signedPrimaryJoey Hess
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-10-08a few other whitespace fixupsJoey Hess
2014-10-08fix some accidental uses of spaces, rather than tabs, for indentationJoey Hess
2014-06-09Attr is renamed to Info.Joey Hess
2014-06-01filter out dup CNAMESJoey Hess
This happens when a docker host has an alias defined, because all docker hosts are added to the dns, same as other hosts.
2014-05-31simplified record accessorsJoey Hess
2014-05-31got rid of the Attr -> Attr SetAttr hack, and use monoids for AttrJoey Hess
The SetAttr hack used to be needed because the hostname was part of the Attr, and was required to be present. Now that it's moved to Host, let's get rid of that, since it tended to waste CPU.
2014-05-31remove now redundant _hostname field of AttrJoey Hess
Now that Host includes _hostName, it's redundant to also keep it in Attr. This requires changing the reader monad to operate on the whole Host.
2014-05-14moved source code to srcJoey Hess
This is to work around OSX's brain-damange regarding filename case insensitivity. Avoided moving config.hs, because it's a config file. Put in a symlink to make build work.