From 5a4aa2c9ec2900737e8a4468896faa8cef2f5656 Mon Sep 17 00:00:00 2001 From: david@1439a1cab13195a56248b6a8fd98a62028bcba8a Date: Thu, 23 Aug 2018 13:36:52 +0000 Subject: Added a comment: first attempt --- ...ent_2_42d3e861e2044479523609ff7b339f6b._comment | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 doc/forum/integration_with_gitolite/comment_2_42d3e861e2044479523609ff7b339f6b._comment (limited to 'doc') diff --git a/doc/forum/integration_with_gitolite/comment_2_42d3e861e2044479523609ff7b339f6b._comment b/doc/forum/integration_with_gitolite/comment_2_42d3e861e2044479523609ff7b339f6b._comment new file mode 100644 index 00000000..ab7cc893 --- /dev/null +++ b/doc/forum/integration_with_gitolite/comment_2_42d3e861e2044479523609ff7b339f6b._comment @@ -0,0 +1,29 @@ +[[!comment format=mdwn + username="david@1439a1cab13195a56248b6a8fd98a62028bcba8a" + nickname="david" + avatar="http://cdn.libravatar.org/avatar/22c2d800db6a7699139df604a67cb221" + subject="first attempt" + date="2018-08-23T13:36:52Z" + content=""" +Here's my first attempt, so you can snicker at my clumsy Haskell. + +
+gitoliteKeys :: User -> Property UnixLike
+gitoliteKeys user@(User username) = property' (\"set up gitolite keys for \" ++ username) $ \w -> do
+      home <- liftIO (User.homedir user)
+      ensureProperty w $ go home
+  where
+    go :: FilePath -> Property UnixLike
+    go home = File.hasContent (home  \".gitolite/keydir/zzz/propellor\"  \"bremner@propellor.pub\")
+                        [ Tethera.Keys.bremner_ssh ]
+              `before`
+              (Cmd.userScriptProperty user [ \"gitolite compile\", \"gitolite trigger POST_COMPILE\" ]
+                           `changesFile` (home  \"gitolite/.ssh/authorized_keys\"))
+
+ + +I think the next step is something like +
+Directory.hasContent :: FilePath -> [ (FilePath, [Line]) ] -> Property UnixLike
+
+"""]] -- cgit v1.2.3