35a7b424bac7003721d58c2c3f27db7eb1315b1e
[gitosis-admin.git] / gitosis.conf
1 #
2 # Amino gitosis.conf - access control for git
3 #
4 # To add a new user here:
5 #
6 # 1. Add them *in alphabetical order* in the members list in "group
7 #    amino" below.
8 # 2. Add their ssh public key as <username>.pub in the keydir
9 #    directory
10
11 # To add a new *central* repository here:
12 #
13 # 1. Add a section called [repo $repo] for anonymous read-only
14 #    web/git-daemon access in the REPOSITORIES section
15 #
16 # 2. Decide who should have write access:
17 #    a. if it's just admins then you're done
18 #    b. if it's everybody then list the repo in the "writable=" line
19 #       in the "all-write" group in the GROUPS section
20 #    c. if you need special control over access, then add a new group
21 #       for your repo called "group-$repo"
22 #
23 # User repositories are special - see the bottom of the file for the
24 # gory details but you shouldn't need to change anything there!
25
26 ##############################################################
27 ###
28 ###  COMMON CONFIG
29 ###
30 ##############################################################
31
32 [gitosis]
33 gitweb = yes
34 daemon = yes
35
36 ## Logging level, one of DEBUG, INFO, WARNING, ERROR, CRITICAL
37 loglevel = WARNING
38
39 [group admins]
40 writable = gitosis-admin gitosis debian.org jigit fuse-music debian-cd-search fake-hwclock abcde steve-config steve-scripts strace-test openstack-debian-images live-wrapper buildd-scripts steve-sigs
41 members = steve # steve-lump
42
43 [group users]
44 writable = debian-rootfs
45 members = vassilis
46
47 [group abcde]
48 writable = abcde
49 members = steve steve-lump colin_tuckley andrew_strong ville
50
51 [group vero]
52 members = andy codehelp daniel leif neil steve vince
53 writable = vero/*
54
55 [group Thermomentum]
56 members = andy
57 writable = Thermomentum/*
58
59 [group shim-review]
60 members = steve steve-lump
61 writable = shim-review
62
63 [group debian-art]
64 members = steve steve-lump
65 writable = debian-art
66
67 [group apt-update]
68 members = steve steve-lump
69 writable = apt-update
70
71 [group jigdo]
72 members = steve steve-lump
73 writable = jigdo
74
75 [group efitest]
76 members = steve steve-lump
77 writable = efitest
78
79 [group training-lab]
80 members = steve steve-lump
81 writable = training-lab
82
83 [group dotfiles]
84 members = steve steve-lump
85 writable = dotfiles
86
87 [group dotfiles-readonly]
88 members =    steve-dotfiles@mjolnir steve-dotfiles@lump # DOTFILES-RO
89 readonly = dotfiles
90
91 ## List all our desired users here, in ALPHABETICAL ORDER!
92 #[group amino]
93 #members = acox anilsson apapp bcockburn bczerwinski brobertson charris ctaylor dwysokinski elarsson gcrocker gmonell hliebel hnguyen ismith jbyrne jlarsson jmorrissey jsummerfield kchristenson kmonell kwolvaardt landersson lcheng meanor mbrown mfrancomb mlarman mrendahl nmcgovern pluscher rwarren sali sam-test smcintyre snutt wrevens
94
95 ## Group of contractors with rights to view st-core & aminet and create public repositories
96 ## Also read-only access to Steve's public Aminet 7105 repo
97 #[group contractors-st]
98 #readonly = st-core aminet users/smcintyre/aminet-7105
99 #members = jcox
100
101 ## And the folks with admin rights here
102 #[group admins]
103 #members = gitosis-mirror smcintyre mfrancomb nmcgovern wszachau jmorrissey
104 #
105 ## Give all Amino users read access to all modules as a default
106 #[group default-read-only]
107 #readonly = * users/*/*
108 #members = @amino
109 #
110 ## And admins get write access to everything too
111 #[group default-admin-write]
112 #writable = * users/*/*
113 #members = @admins
114
115 ##############################################################
116 ###
117 ###  END OF COMMON CONFIG (special formatting, do NOT change!)
118 ###
119 ##############################################################
120
121 ##############################################################
122 ###
123 ###  REPOSITORIES
124 ###
125 ##############################################################
126
127 # Below here, add "repo" definitions to fill in the description and
128 # owner fields for gitweb.
129
130 [repo gitosis-admin]
131 description = Git server admin
132 owner = Steve McIntyre
133
134 [repo gitosis]
135 description = Gitosis software
136 owner = Steve McIntyre
137
138 [repo debian.org]
139 description = Debian.org config
140 owner = Steve McIntyre
141
142 [repo jigit]
143 description = Jigdo tools
144 owner = Steve McIntyre
145
146 [repo efitest]
147 description = EFI test scripts and binaries
148 owner = Steve McIntyre
149
150 [repo fuse-music]
151 description = Transcoding filesystem
152 owner = Steve McIntyre
153
154 [repo debian-cd-search]
155 description = Search for contents of Debian CDs
156 owner = Steve McIntyre
157
158 [repo fake-hwclock]
159 description = Save/restore system clock on machines without working RTC hardware
160 owner = Steve McIntyre
161
162 [repo abcde]
163 description = A Better CD Encoder
164 owner = Steve McIntyre
165
166 [repo steve-scripts]
167 description = Local scripts repo
168 owner = Steve McIntyre
169
170 [repo steve-config]
171 description = Local config repo
172 owner = Steve McIntyre
173
174 [repo steve-sigs]
175 description = Local sigrot repo
176 owner = Steve McIntyre
177
178 [repo strace-test]
179 description = local strace test scripts
180 owner = Steve McIntyre
181
182 [repo openstack-debian-images]
183 description = local working branch for openstack-debian-images
184 owner = Steve McIntyre
185
186 [repo live-wrapper]
187 description = local working branch for live-wrapper
188 owner = Steve McIntyre
189
190 [repo buildd-scripts]
191 description = local scripts for doing Debian rebuilds
192 owner = Steve McIntyre
193
194 [repo shim-review]
195 description = review repo for shim signing
196 owner = Steve McIntyre
197 gitweb = yes
198 daemon = yes
199
200 [repo apt-update]
201 description = local package for managing apt updates
202 owner = Steve McIntyre
203 gitweb = yes
204 daemon = yes
205
206 [repo debian-art]
207 description = Debian CD/DVD artwork
208 owner = Steve McIntyre
209 gitweb = yes
210 daemon = yes
211
212 [repo jigdo]
213 description = Jigdo upstream work
214 owner = Steve McIntyre
215 gitweb = yes
216 daemon = yes
217
218 [repo training-lab]
219 description = Training lab VM setup
220 owner = Steve McIntyre
221 gitweb = yes
222 daemon = yes
223
224 [repo dotfiles]
225 description = Steve\'s dotfiles
226 owner = Steve McIntyre
227 gitweb = no
228 daemon = no
229
230 # Add gitweb and git:// access to the user repositories too.
231 # The $user in the "repo" line is important, as that's how we look up
232 # the username when generating the Description and Owner fields in
233 # gitweb output. If we can find user details for $user, we will
234 # substitute their name in the Description field, replacing
235 # '$username'
236 [repo users/$user/*]
237 description = Public repository for $username
238 gitweb = yes
239 daemon = yes
240
241 [repo vero/*]
242 description = Vero-Apparatus repo
243 gitweb = no
244 daemon = yes
245
246 #[repo Thermomentum/*]
247 #description = Thermomentum repo
248 #gitweb = no
249 #daemon = no
250 #owner = Andy Simpkins
251
252 ##############################################################
253 ###
254 ###  END OF REPOSITORIES (special formatting, do NOT change!)
255 ###
256 ##############################################################
257
258 # Anything below here will only apply to the master config on
259 # glutamine, the central git server in Cambridge. Caches should
260 # therefore remain read-only for users except admins.
261
262
263 ##############################################################
264 ###
265 ###  GROUPS
266 ###
267 ##############################################################
268
269 # By default (see rules in the common config section), all
270 # repositories will be:
271
272 # 1. writable by @admins
273 # 2. readonly by @amino
274 #
275 # If you want to give more access to a repository then list it in
276 # "all-write" or for more fine-grained control add a specific "group"
277 # definition for it in this section.
278
279 [group all-write]
280 writable = aminet mood meego intel-media intel-ui intel-ems
281 members = @amino
282
283 [group subs-test]
284 writable = subs-test
285 members = anilsson mrendahl
286
287 [group st-core]
288 writable = st-core
289 members = jbyrne snutt anilsson
290
291 [group innovation]
292 writable = innovation
293 members = gmonell jkwarnmark jsummerfield mfrancomb mrendahl
294
295 ##############################################################
296 ###
297 ###  END OF GROUPS (special formatting, do NOT change!)
298 ###
299 ##############################################################
300
301 ##############################################################
302 ###
303 ###  USER REPOSITORY CONFIG
304 ###
305 ##############################################################
306
307 # Special group that adds support for repositories of the form
308 # user/<user>/<foo>.git. Otherwise admins would have to add specific
309 # entries for every single user repo, and that would quickly become an
310 # admin nightmare!
311 #
312 # The following config group will allow *write* access to
313 # user/<user>/<foo>.git for the owner ($user) and the @admins group
314 #
315 # If you want to allow a specific user (Bob) to have write access to
316 # a specific user repo (belonging to Alice), you will need to add a
317 # specific group describing Alice's user repo and list Bob in the
318 # members field there as normal. That will supplement the normal
319 # access from the wild-card group entries. Sorry, this *will* require
320 # admin work.
321 [group user-write]
322 members = $user @admins
323 writable = users/$user/*
324
325 ##############################################################
326 ###
327 ###  END OF USER REPOSITORY CONFIG (special formatting, do NOT change!)
328 ###
329 ##############################################################
330
331 ##############################################################
332 ###
333 ###  HOOKS CONFIG
334 ###
335 ##############################################################
336
337 # [hooks]
338 # Immediately after a "git init" call for a new repo, configure the
339 # new repo appropriately for mirroring and mail notification
340 # post-init = /usr/local/bin/git-configure-post-receive
341
342 ##############################################################
343 ###
344 ###  END OF HOOKS CONFIG (special formatting, do NOT change!)
345 ###
346 ##############################################################
347
348