summaryrefslogtreecommitdiff
path: root/src/Propellor/PrivData.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-19clean up exportsJoey Hess
2015-01-15Add descriptions of how to set missing fields to --list-fields output. ↵Joey Hess
(Minor API changes)
2015-01-08make both lines pastable togetherJoey Hess
2015-01-04sshPubKey is renamed to Ssh.pubKey, and has an added SshKeyType parameter.Joey Hess
2014-12-14broke up big function to describe PrivDataFieldJoey Hess
2014-12-14support for crypted passwords in privdataJoey Hess
* Added CryptPassword to PrivDataField, for password hashes as produced by crypt(3). * User.hasPassword and User.hasSomePassword will now use either a CryptPassword or a Password from privdata, depending on which is set.
2014-12-07Fixed privdata introspection for User.hasPassword and User.hasSomePasswordJoey Hess
This is not a complete fix for the problem that Info doen't propigate from the called property when code does something like: do hostname <- asks hostName ensureProperty $ foo hostname Instead, I just eliminated the need to implement hasPassword that way, by making the PrivData Info use a HostContext which automatically gets the right hostname passed to it. All other uses of withPrivData don't have the problem. It's still possible for the user to run into the problem if they write something like the above, where foo is a property that uses privdata. However, all properties that take a Context now also accept a HostContext, so it's at least less likely the user needs to write that.
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-11propellor spinJoey Hess
2014-10-08fix some accidental uses of spaces, rather than tabs, for indentationJoey Hess
2014-07-07propellor spinJoey Hess
2014-07-06reorgJoey Hess
2014-07-06propigate required privdata fields out from docker containers to the hosts ↵Joey Hess
they're docked in
2014-07-06propellor spinJoey Hess
2014-07-06move privdata Property to toplevel so its Info propigatesJoey Hess
Ugh, that's a nasty gotcha but I cannot see a way to fix it generally right now.
2014-07-06beautiful table for --list-fields, with the hostnamesJoey Hess
2014-07-06propellor spinJoey Hess
2014-07-06better output, after gpg messagesJoey Hess
2014-07-06propellor spinJoey Hess
2014-06-19Add --list-fields to list a host's currently set privdata fields.Joey Hess
2014-06-19Add --edit to edit a privdata value in $EDITORJoey Hess
2014-06-01Added --dump to dump out a field of a host's privdata. Useful for editing it.Joey Hess
2014-05-31simplified record accessorsJoey Hess
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.