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