Browse files

document "puppet mode"

  • Loading branch information...
1 parent 29655e8 commit 1dccf3bfdffce123324a981468a326ac0acbbca3 @sitaramc committed Sep 13, 2013
Showing with 44 additions and 0 deletions.
  1. +43 −0 clone.mkd
  2. +1 −0 master-toc.mkd
View
43 clone.mkd
@@ -17,3 +17,46 @@ described [here][adminrepo].
If this step fails, be sure to look at the [ssh][] documentation before asking
for help. (A very basic first step is to run `ssh git@host info`;
[this][info] page tells you what to expect).
+
+## appendix: administer gitolite directly on the server
+
+The main use of managing gitolite via the admin repo is that you get to
+version control the access rules. But for large sites, there's another use:
+you can share the admin load with more people, **without** having to give all
+of them shell access on the server.
+
+However, people who use puppet and similar systems already have a conf
+versioning and management system. And they'd like to continue to use that to
+manage gitolite repos and users, rather than be forced to do it through the
+gitolite-admin repo.
+
+Such sites don't really need the admin repo at all, so here's how to get rid
+of it and run things directly on the server (which you can script into your
+puppet or similar software quite easily).
+
+First the one-time stuff:
+
+ * [install][] the software as normal
+
+ * run `gitolite setup -a dummy` instead of the normal [setup][] command
+
+ * delete (or move away) `~/repositories/gitolite-admin.git`
+
+ * edit `~/.gitolite/conf/gitolite.conf` and remove the gitolite-admin repo
+ and its access line.
+
+ * `mkdir ~/.gitolite/keydir` (because "setup -a" does not create it, but you
+ will need it later to add keys).
+
+ * run `gitolite compile; gitolite trigger POST_COMPILE`
+
+To manage gitolite, you can directly edit files in `~/.gitolite` (or cause
+puppet to place files there), and then run the commands in the last step
+above. For example:
+
+ * copy someone's pubkey file to `~/.gitolite/keydir`
+ * edit `~/.gitolite/conf/gitolite.conf` and add a repo or three, giving
+ access to some user(s)
+ * run `gitolite compile; gitolite trigger POST_COMPILE`
+
+That's it.
View
1 master-toc.mkd
@@ -59,6 +59,7 @@ documentation: [basic][] and [advanced][].
## [clone][]
+ * (appendix: administer gitolite directly on the server)
## gitolite [admin][]istration

0 comments on commit 1dccf3b

Please sign in to comment.