diff options
| author | Joey Hess <joey@kitenet.net> | 2014-03-30 21:01:18 -0400 |
|---|---|---|
| committer | Joey Hess <joey@kitenet.net> | 2014-03-30 21:01:18 -0400 |
| commit | cc16366ff2998866fa3b222114cb989985b48359 (patch) | |
| tree | 93fae5039b1b723723a8bcea32aeed7821c1d956 /PrivData.hs | |
| parent | 409cb20373f65c784f1430322b5f28bc58d34943 (diff) | |
propellor spin
Diffstat (limited to 'PrivData.hs')
| -rw-r--r-- | PrivData.hs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/PrivData.hs b/PrivData.hs index e9233660..d1e75c88 100644 --- a/PrivData.hs +++ b/PrivData.hs @@ -16,6 +16,7 @@ import Utility.Exception import Utility.Process import Utility.Tmp import Utility.SafeCommand +import Utility.Misc {- Note that removing or changing field names will break the - serialized privdata files, so don't do that! @@ -38,13 +39,16 @@ getPrivData field = do m <- catchDefaultIO Nothing $ readish <$> readFile privDataLocal return $ maybe Nothing (M.lookup field) m -setPrivData :: HostName -> PrivDataField -> String -> IO () -setPrivData host field value = do +setPrivData :: HostName -> PrivDataField -> IO () +setPrivData host field = do + putStrLn "Enter private data on stdin; ctrl-D when done:" + value <- hGetContentsStrict stdin makePrivDataDir let f = privDataFile host m <- fromMaybe M.empty . readish <$> gpgDecrypt f let m' = M.insert field value m gpgEncrypt f (show m') + putStrLn "Private data set." void $ boolSystem "git" [Param "add", File f] makePrivDataDir :: IO () |
