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