Commit Graph

27 Commits

Author SHA1 Message Date
Joey Hess fc04d0d81d Added --unset to delete a privdata field. 2015-06-29 16:40:01 -04:00
Joey Hess 0ee04ecc43 GADT properties seem to work (untested)
* 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-24 22:38:51 -04:00
Joey Hess 414ee7eee6 added GADT to determine between a property with info and without
Not yet used
2015-01-24 16:53:59 -04:00
Joey Hess e28b1ab92b clean up exports 2015-01-19 15:20:12 -04:00
Joey Hess c7609c824b Add descriptions of how to set missing fields to --list-fields output. (Minor API changes) 2015-01-15 20:15:01 -04:00
Joey Hess 4d0a732a30 make both lines pastable together 2015-01-08 23:03:57 -04:00
Joey Hess f1a1d0001a sshPubKey is renamed to Ssh.pubKey, and has an added SshKeyType parameter. 2015-01-04 15:57:27 -04:00
Joey Hess 23399416f1 broke up big function to describe PrivDataField 2014-12-14 16:14:05 -04:00
Joey Hess 71723ca09f support for crypted passwords in privdata
* 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-14 15:24:10 -04:00
Joey Hess 9ca332e481 Fixed privdata introspection for User.hasPassword and User.hasSomePassword
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-12-07 15:03:06 -04:00
Joey Hess 5e4c57652c fix docker container provisioning
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-20 00:21:40 -04:00
Joey Hess 84304821be
propellor spin 2014-11-11 12:58:53 -04:00
Joey Hess 6a674c79d7 fix some accidental uses of spaces, rather than tabs, for indentation 2014-10-08 13:14:21 -04:00
Joey Hess e53faff843
propellor spin 2014-07-07 03:42:35 -04:00
Joey Hess 7330737b79 reorg 2014-07-06 19:40:03 -04:00
Joey Hess cd37316dd5 propigate required privdata fields out from docker containers to the hosts they're docked in 2014-07-06 17:54:06 -04:00
Joey Hess e2019aa7a8
propellor spin 2014-07-06 17:37:10 -04:00
Joey Hess e6ce744078 move privdata Property to toplevel so its Info propigates
Ugh, that's a nasty gotcha but I cannot see a way to fix it generally right
now.
2014-07-06 17:16:04 -04:00
Joey Hess 20df4170b0 beautiful table for --list-fields, with the hostnames 2014-07-06 16:46:00 -04:00
Joey Hess 5002b5e391
propellor spin 2014-07-06 16:32:05 -04:00
Joey Hess 77f3961752 better output, after gpg messages 2014-07-06 16:03:28 -04:00
Joey Hess 58f79c12aa
propellor spin 2014-07-06 15:56:56 -04:00
Joey Hess f674c56119 Add --list-fields to list a host's currently set privdata fields. 2014-06-19 14:56:50 -04:00
Joey Hess 42594d6b4c Add --edit to edit a privdata value in $EDITOR 2014-06-19 14:48:15 -04:00
Joey Hess 740740d215 Added --dump to dump out a field of a host's privdata. Useful for editing it. 2014-06-01 16:58:05 -04:00
Joey Hess 58c8d74b4c simplified record accessors 2014-05-31 20:48:23 -04:00
Joey Hess 7115d1ec16 moved source code to src
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.
2014-05-14 19:41:05 -04:00