2 # Amino gitosis.conf - access control for git
4 # To add a new user here:
6 # 1. Add them *in alphabetical order* in the members list in "group
8 # 2. Add their ssh public key as <username>.pub in the keydir
11 # To add a new *central* repository here:
13 # 1. Add a section called [repo $repo] for anonymous read-only
14 # web/git-daemon access in the REPOSITORIES section
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"
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!
26 ##############################################################
30 ##############################################################
36 ## Logging level, one of DEBUG, INFO, WARNING, ERROR, CRITICAL
40 writable = gitosis-admin gitosis debian.org jigit fuse-music debian-cd-search fake-hwclock
41 members = steve stemci01
43 ## List all our desired users here, in ALPHABETICAL ORDER!
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
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
53 ## And the folks with admin rights here
55 #members = gitosis-mirror smcintyre mfrancomb nmcgovern wszachau jmorrissey
57 ## Give all Amino users read access to all modules as a default
58 #[group default-read-only]
59 #readonly = * users/*/*
62 ## And admins get write access to everything too
63 #[group default-admin-write]
64 #writable = * users/*/*
67 ##############################################################
69 ### END OF COMMON CONFIG (special formatting, do NOT change!)
71 ##############################################################
73 ##############################################################
77 ##############################################################
79 # Below here, add "repo" definitions to fill in the description and
80 # owner fields for gitweb.
83 description = Git server admin
84 owner = Steve McIntyre
87 description = Gitosis software
88 owner = Steve McIntyre
91 description = Debian.org config
92 owner = Steve McIntyre
95 description = Jigdo tools
96 owner = Steve McIntyre
99 description = Transcoding filesystem
100 owner = Steve McIntyre
102 [repo debian-cd-search]
103 description = Search for contents of Debian CDs
104 owner = Steve McIntyre
107 description = Save/restore system clock on machines without working RTC hardware
108 owner = Steve McIntyre
110 # Add gitweb and git:// access to the user repositories too.
111 # The $user in the "repo" line is important, as that's how we look up
112 # the username when generating the Description and Owner fields in
113 # gitweb output. If we can find user details for $user, we will
114 # substitute their name in the Description field, replacing
117 description = Public repository for $username
121 ##############################################################
123 ### END OF REPOSITORIES (special formatting, do NOT change!)
125 ##############################################################
127 # Anything below here will only apply to the master config on
128 # glutamine, the central git server in Cambridge. Caches should
129 # therefore remain read-only for users except admins.
132 ##############################################################
136 ##############################################################
138 # By default (see rules in the common config section), all
139 # repositories will be:
141 # 1. writable by @admins
142 # 2. readonly by @amino
144 # If you want to give more access to a repository then list it in
145 # "all-write" or for more fine-grained control add a specific "group"
146 # definition for it in this section.
149 writable = aminet mood meego intel-media intel-ui intel-ems
154 members = anilsson mrendahl
158 members = jbyrne snutt anilsson
161 writable = innovation
162 members = gmonell jkwarnmark jsummerfield mfrancomb mrendahl
164 ##############################################################
166 ### END OF GROUPS (special formatting, do NOT change!)
168 ##############################################################
170 ##############################################################
172 ### USER REPOSITORY CONFIG
174 ##############################################################
176 # Special group that adds support for repositories of the form
177 # user/<user>/<foo>.git. Otherwise admins would have to add specific
178 # entries for every single user repo, and that would quickly become an
181 # The following config group will allow *write* access to
182 # user/<user>/<foo>.git for the owner ($user) and the @admins group
184 # If you want to allow a specific user (Bob) to have write access to
185 # a specific user repo (belonging to Alice), you will need to add a
186 # specific group describing Alice's user repo and list Bob in the
187 # members field there as normal. That will supplement the normal
188 # access from the wild-card group entries. Sorry, this *will* require
191 members = $user @admins
192 writable = users/$user/*
194 ##############################################################
196 ### END OF USER REPOSITORY CONFIG (special formatting, do NOT change!)
198 ##############################################################
200 ##############################################################
204 ##############################################################
207 # Immediately after a "git init" call for a new repo, configure the
208 # new repo appropriately for mirroring and mail notification
209 # post-init = /usr/local/bin/git-configure-post-receive
211 ##############################################################
213 ### END OF HOOKS CONFIG (special formatting, do NOT change!)
215 ##############################################################