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