Commit Graph

30 Commits

Author SHA1 Message Date
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 a2a97cbeb2 avoid haddock warnings 2015-01-19 14:26:18 -04:00
Joey Hess 8e442f0656 DNS records for hosts with known ssh public keys now automatically include SSHFP records. 2015-01-04 19:24:18 -04:00
Joey Hess ef2f3d33de Fix bug that prevented deploying ssh host keys when the file for the key didn't already exist.
This is not a new bug.
2015-01-04 18:20:02 -04:00
Joey Hess fd1e01c853 avoid ever removing all host keys 2015-01-04 17:14:07 -04:00
Joey Hess f0b6ce9702
propellor spin 2015-01-04 17:04:26 -04:00
Joey Hess 08b45ad6f6
propellor spin 2015-01-04 17:00:08 -04:00
Joey Hess 0af7629c98
propellor spin 2015-01-04 16:54:43 -04:00
Joey Hess a2bb647827 Ssh.hostKey and Ssh.hostKeys no longer install public keys from the privdata.
Instead, the public keys of a host should be set using Ssh.pubKey.
2015-01-04 16:10:36 -04:00
Joey Hess 84685f24c9 Ssh.hostKeys now also installs any available SshEd25519 keys. 2015-01-04 15:59:54 -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 52664e6220 sshPubKey is renamed to Ssh.pubKey 2015-01-04 15:36:53 -04:00
Joey Hess 23399416f1 broke up big function to describe PrivDataField 2014-12-14 16:14:05 -04:00
Joey Hess 2fe0b28982 more uses for hostContext 2014-12-07 15:21:55 -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 8d1814a884 move property to ssh module 2014-11-24 00:51:36 -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 f6ac681da0 use Daemon.restarted consistently, and implement using Service.restarted 2014-09-23 13:21:53 -04:00
Joey Hess 3822c9a2d7
propellor spin 2014-08-21 14:04:26 -04:00
Joey Hess 41a23743e7
propellor spin 2014-07-23 12:27:38 -04:00
Joey Hess dd32a63a07
propellor spin 2014-07-23 12:25:38 -04:00
Joey Hess bae7e08597
propellor spin 2014-07-07 11:32:29 -04:00
Joey Hess 58f79c12aa
propellor spin 2014-07-06 15:56:56 -04:00
Joey Hess 9a52b4d38a
propellor spin 2014-07-05 18:00:53 -04:00
Joey Hess d062e21a5e
propellor spin 2014-07-05 17:57:19 -04:00
Joey Hess 582be8ebe0 combineProperties no longer stops when a property fails; now it continues trying to satisfy all properties on the list before propigating the failure.
Audited all of my calls to combineProperties and they should be fine with
this behavior.. which suggests it's the right behavior.
2014-06-07 00:14:05 -04:00
Joey Hess 969db1ed56 when ssh key data is missing, allow both error messages to be printed 2014-06-07 00:07:19 -04:00
Joey Hess 07d3d359d2 fix dir owner 2014-05-21 14:57:04 -04:00
Joey Hess 3b91f5bba3
propellor spin 2014-05-21 14:13:39 -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