add readonly dotfiles setup, but working
[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-scripts strace-test openstack-debian-images live-wrapper buildd-scripts steve-sigs
41 members = steve # stemci01
42
43 [group users]
44 writable = debian-rootfs
45 members = vassilis
46
47 [group abcde]
48 writable = abcde
49 members = steve stemci01 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 stemci01
61 writable = shim-review
62
63 [group apt-update]
64 members = steve stemci01
65 writable = apt-update
66
67 [group jigdo]
68 members = steve stemci01
69 writable = jigdo
70
71 [group efitest]
72 members = steve stemci01
73 writable = efitest
74
75 [group dotfiles]
76 members = steve stemci01
77 writable = dotfiles
78
79 [group dotfiles-readonly]
80 members = # DOTFILES-RO
81 readonly = dotfiles
82
83 ## List all our desired users here, in ALPHABETICAL ORDER!
84 #[group amino]
85 #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
86
87 ## Group of contractors with rights to view st-core & aminet and create public repositories
88 ## Also read-only access to Steve's public Aminet 7105 repo
89 #[group contractors-st]
90 #readonly = st-core aminet users/smcintyre/aminet-7105
91 #members = jcox
92
93 ## And the folks with admin rights here
94 #[group admins]
95 #members = gitosis-mirror smcintyre mfrancomb nmcgovern wszachau jmorrissey
96 #
97 ## Give all Amino users read access to all modules as a default
98 #[group default-read-only]
99 #readonly = * users/*/*
100 #members = @amino
101 #
102 ## And admins get write access to everything too
103 #[group default-admin-write]
104 #writable = * users/*/*
105 #members = @admins
106
107 ##############################################################
108 ###
109 ###  END OF COMMON CONFIG (special formatting, do NOT change!)
110 ###
111 ##############################################################
112
113 ##############################################################
114 ###
115 ###  REPOSITORIES
116 ###
117 ##############################################################
118
119 # Below here, add "repo" definitions to fill in the description and
120 # owner fields for gitweb.
121
122 [repo gitosis-admin]
123 description = Git server admin
124 owner = Steve McIntyre
125
126 [repo gitosis]
127 description = Gitosis software
128 owner = Steve McIntyre
129
130 [repo debian.org]
131 description = Debian.org config
132 owner = Steve McIntyre
133
134 [repo jigit]
135 description = Jigdo tools
136 owner = Steve McIntyre
137
138 [repo efitest]
139 description = EFI test scripts and binaries
140 owner = Steve McIntyre
141
142 [repo fuse-music]
143 description = Transcoding filesystem
144 owner = Steve McIntyre
145
146 [repo debian-cd-search]
147 description = Search for contents of Debian CDs
148 owner = Steve McIntyre
149
150 [repo fake-hwclock]
151 description = Save/restore system clock on machines without working RTC hardware
152 owner = Steve McIntyre
153
154 [repo abcde]
155 description = A Better CD Encoder
156 owner = Steve McIntyre
157
158 [repo steve-scripts]
159 description = Local scripts repo
160 owner = Steve McIntyre
161
162 [repo steve-sigs]
163 description = Local sigrot repo
164 owner = Steve McIntyre
165
166 [repo strace-test]
167 description = local strace test scripts
168 owner = Steve McIntyre
169
170 [repo openstack-debian-images]
171 description = local working branch for openstack-debian-images
172 owner = Steve McIntyre
173
174 [repo live-wrapper]
175 description = local working branch for live-wrapper
176 owner = Steve McIntyre
177
178 [repo buildd-scripts]
179 description = local scripts for doing Debian rebuilds
180 owner = Steve McIntyre
181
182 [repo shim-review]
183 description = review repo for shim signing
184 owner = Steve McIntyre
185 gitweb = yes
186 daemon = yes
187
188 [repo apt-update]
189 description = local package for managing apt updates
190 owner = Steve McIntyre
191 gitweb = yes
192 daemon = yes
193
194 [repo jigdo]
195 description = Jigdo upstream work
196 owner = Steve McIntyre
197 gitweb = yes
198 daemon = yes
199
200 [repo dotfiles]
201 description = Steve\'s dotfiles
202 owner = Steve McIntyre
203 gitweb = no
204 daemon = no
205
206 # Add gitweb and git:// access to the user repositories too.
207 # The $user in the "repo" line is important, as that's how we look up
208 # the username when generating the Description and Owner fields in
209 # gitweb output. If we can find user details for $user, we will
210 # substitute their name in the Description field, replacing
211 # '$username'
212 [repo users/$user/*]
213 description = Public repository for $username
214 gitweb = yes
215 daemon = yes
216
217 [repo vero/*]
218 description = Vero-Apparatus repo
219 gitweb = no
220 daemon = yes
221
222 #[repo Thermomentum/*]
223 #description = Thermomentum repo
224 #gitweb = no
225 #daemon = no
226 #owner = Andy Simpkins
227
228 ##############################################################
229 ###
230 ###  END OF REPOSITORIES (special formatting, do NOT change!)
231 ###
232 ##############################################################
233
234 # Anything below here will only apply to the master config on
235 # glutamine, the central git server in Cambridge. Caches should
236 # therefore remain read-only for users except admins.
237
238
239 ##############################################################
240 ###
241 ###  GROUPS
242 ###
243 ##############################################################
244
245 # By default (see rules in the common config section), all
246 # repositories will be:
247
248 # 1. writable by @admins
249 # 2. readonly by @amino
250 #
251 # If you want to give more access to a repository then list it in
252 # "all-write" or for more fine-grained control add a specific "group"
253 # definition for it in this section.
254
255 [group all-write]
256 writable = aminet mood meego intel-media intel-ui intel-ems
257 members = @amino
258
259 [group subs-test]
260 writable = subs-test
261 members = anilsson mrendahl
262
263 [group st-core]
264 writable = st-core
265 members = jbyrne snutt anilsson
266
267 [group innovation]
268 writable = innovation
269 members = gmonell jkwarnmark jsummerfield mfrancomb mrendahl
270
271 ##############################################################
272 ###
273 ###  END OF GROUPS (special formatting, do NOT change!)
274 ###
275 ##############################################################
276
277 ##############################################################
278 ###
279 ###  USER REPOSITORY CONFIG
280 ###
281 ##############################################################
282
283 # Special group that adds support for repositories of the form
284 # user/<user>/<foo>.git. Otherwise admins would have to add specific
285 # entries for every single user repo, and that would quickly become an
286 # admin nightmare!
287 #
288 # The following config group will allow *write* access to
289 # user/<user>/<foo>.git for the owner ($user) and the @admins group
290 #
291 # If you want to allow a specific user (Bob) to have write access to
292 # a specific user repo (belonging to Alice), you will need to add a
293 # specific group describing Alice's user repo and list Bob in the
294 # members field there as normal. That will supplement the normal
295 # access from the wild-card group entries. Sorry, this *will* require
296 # admin work.
297 [group user-write]
298 members = $user @admins
299 writable = users/$user/*
300
301 ##############################################################
302 ###
303 ###  END OF USER REPOSITORY CONFIG (special formatting, do NOT change!)
304 ###
305 ##############################################################
306
307 ##############################################################
308 ###
309 ###  HOOKS CONFIG
310 ###
311 ##############################################################
312
313 # [hooks]
314 # Immediately after a "git init" call for a new repo, configure the
315 # new repo appropriately for mirroring and mail notification
316 # post-init = /usr/local/bin/git-configure-post-receive
317
318 ##############################################################
319 ###
320 ###  END OF HOOKS CONFIG (special formatting, do NOT change!)
321 ###
322 ##############################################################
323
324