summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Ssh.hs
diff options
context:
space:
mode:
authorJoey Hess2014-12-14 16:14:05 -0400
committerJoey Hess2014-12-14 16:14:05 -0400
commit23399416f1ba89894f65f61b436c2b0f8378e6c5 (patch)
tree161b0d4bcf18cd7fb9bf58a7a7089b868dad2777 /src/Propellor/Property/Ssh.hs
parent71723ca09f369ccf96462cef1e0200e1615677d1 (diff)
broke up big function to describe PrivDataField
Diffstat (limited to 'src/Propellor/Property/Ssh.hs')
-rw-r--r--src/Propellor/Property/Ssh.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Propellor/Property/Ssh.hs b/src/Propellor/Property/Ssh.hs
index fcae6498..695b67cb 100644
--- a/src/Propellor/Property/Ssh.hs
+++ b/src/Propellor/Property/Ssh.hs
@@ -90,8 +90,8 @@ hostKeys ctx = propertyList "known ssh host keys"
-- | Sets a single ssh host key from the privdata.
hostKey :: IsContext c => SshKeyType -> c -> Property
hostKey keytype context = combineProperties desc
- [ installkey (SshPubKey keytype "") (install writeFile ".pub")
- , installkey (SshPrivKey keytype "") (install writeFileProtected "")
+ [ installkey (keysrc ".pub" (SshPubKey keytype "")) (install writeFile ".pub")
+ , installkey (keysrc "" (SshPrivKey keytype "")) (install writeFileProtected "")
]
`onChange` restarted
where
@@ -104,6 +104,8 @@ hostKey keytype context = combineProperties desc
if s == key
then noChange
else makeChange $ writer f key
+ keysrc ext field = PrivDataSourceFileFromCommand field ("sshkey"++ext)
+ ("ssh-keygen -t " ++ sshKeyTypeParam keytype ++ " -f sshkey")
-- | Sets up a user with a ssh private key and public key pair from the
-- PrivData.