Merge branch '8784-dir-listings'
[arvados.git] / tools / arvbox / lib / arvbox / docker / gitolite.rc
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 # This is based on the default Gitolite configuration file with the following
6 # changes applied as described here:
7 # http://doc.arvados.org/install/install-arv-git-httpd.html
8
9 # configuration variables for gitolite
10
11 # This file is in perl syntax.  But you do NOT need to know perl to edit it --
12 # just mind the commas, use single quotes unless you know what you're doing,
13 # and make sure the brackets and braces stay matched up!
14
15 # (Tip: perl allows a comma after the last item in a list also!)
16
17 # HELP for commands can be had by running the command with "-h".
18
19 # HELP for all the other FEATURES can be found in the documentation (look for
20 # "list of non-core programs shipped with gitolite" in the master index) or
21 # directly in the corresponding source file.
22
23 my $repo_aliases;
24 my $aliases_src = "$ENV{HOME}/.gitolite/arvadosaliases.pl";
25 if ($ENV{HOME} && (-e $aliases_src)) {
26     $repo_aliases = do $aliases_src;
27 }
28 $repo_aliases ||= {};
29
30 %RC = (
31
32     REPO_ALIASES => $repo_aliases,
33
34     # ------------------------------------------------------------------
35
36     # default umask gives you perms of '0700'; see the rc file docs for
37     # how/why you might change this
38     UMASK                           =>  0022,
39
40     # look for "git-config" in the documentation
41     GIT_CONFIG_KEYS                 =>  '',
42
43     # comment out if you don't need all the extra detail in the logfile
44     LOG_EXTRA                       =>  1,
45     # logging options
46     # 1. leave this section as is for 'normal' gitolite logging (default)
47     # 2. uncomment this line to log ONLY to syslog:
48     # LOG_DEST                      => 'syslog',
49     # 3. uncomment this line to log to syslog and the normal gitolite log:
50     # LOG_DEST                      => 'syslog,normal',
51     # 4. prefixing "repo-log," to any of the above will **also** log just the
52     #    update records to "gl-log" in the bare repo directory:
53     # LOG_DEST                      => 'repo-log,normal',
54     # LOG_DEST                      => 'repo-log,syslog',
55     # LOG_DEST                      => 'repo-log,syslog,normal',
56
57     # roles.  add more roles (like MANAGER, TESTER, ...) here.
58     #   WARNING: if you make changes to this hash, you MUST run 'gitolite
59     #   compile' afterward, and possibly also 'gitolite trigger POST_COMPILE'
60     ROLES => {
61         READERS                     =>  1,
62         WRITERS                     =>  1,
63     },
64
65     # enable caching (currently only Redis).  PLEASE RTFM BEFORE USING!!!
66     # CACHE                         =>  'Redis',
67
68     # ------------------------------------------------------------------
69
70     # rc variables used by various features
71
72     # the 'info' command prints this as additional info, if it is set
73         # SITE_INFO                 =>  'Please see http://blahblah/gitolite for more help',
74
75     # the CpuTime feature uses these
76         # display user, system, and elapsed times to user after each git operation
77         # DISPLAY_CPU_TIME          =>  1,
78         # display a warning if total CPU times (u, s, cu, cs) crosses this limit
79         # CPU_TIME_WARN_LIMIT       =>  0.1,
80
81     # the Mirroring feature needs this
82         # HOSTNAME                  =>  "foo",
83
84     # TTL for redis cache; PLEASE SEE DOCUMENTATION BEFORE UNCOMMENTING!
85         # CACHE_TTL                 =>  600,
86
87     # ------------------------------------------------------------------
88
89     # suggested locations for site-local gitolite code (see cust.html)
90
91         # this one is managed directly on the server
92         # LOCAL_CODE                =>  "$ENV{HOME}/local",
93
94         # or you can use this, which lets you put everything in a subdirectory
95         # called "local" in your gitolite-admin repo.  For a SECURITY WARNING
96         # on this, see http://gitolite.com/gitolite/non-core.html#pushcode
97         # LOCAL_CODE                =>  "$rc{GL_ADMIN_BASE}/local",
98
99     # ------------------------------------------------------------------
100
101     # List of commands and features to enable
102
103     ENABLE => [
104
105         # COMMANDS
106
107             # These are the commands enabled by default
108             'help',
109             'desc',
110             'info',
111             'perms',
112             'writable',
113
114             # Uncomment or add new commands here.
115             # 'create',
116             # 'fork',
117             # 'mirror',
118             # 'readme',
119             # 'sskm',
120             # 'D',
121
122         # These FEATURES are enabled by default.
123
124             # essential (unless you're using smart-http mode)
125             'ssh-authkeys',
126
127             # creates git-config enties from gitolite.conf file entries like 'config foo.bar = baz'
128             'git-config',
129
130             # creates git-daemon-export-ok files; if you don't use git-daemon, comment this out
131             'daemon',
132
133             # creates projects.list file; if you don't use gitweb, comment this out
134             'gitweb',
135
136         # These FEATURES are disabled by default; uncomment to enable.  If you
137         # need to add new ones, ask on the mailing list :-)
138
139         # user-visible behaviour
140
141             # prevent wild repos auto-create on fetch/clone
142             # 'no-create-on-read',
143             # no auto-create at all (don't forget to enable the 'create' command!)
144             # 'no-auto-create',
145
146             # access a repo by another (possibly legacy) name
147             'Alias',
148
149             # give some users direct shell access.  See documentation in
150             # sts.html for details on the following two choices.
151             # "Shell $ENV{HOME}/.gitolite.shell-users",
152             # 'Shell alice bob',
153
154             # set default roles from lines like 'option default.roles-1 = ...', etc.
155             # 'set-default-roles',
156
157             # show more detailed messages on deny
158             # 'expand-deny-messages',
159
160             # show a message of the day
161             # 'Motd',
162
163         # system admin stuff
164
165             # enable mirroring (don't forget to set the HOSTNAME too!)
166             # 'Mirroring',
167
168             # allow people to submit pub files with more than one key in them
169             # 'ssh-authkeys-split',
170
171             # selective read control hack
172             # 'partial-copy',
173
174             # manage local, gitolite-controlled, copies of read-only upstream repos
175             # 'upstream',
176
177             # updates 'description' file instead of 'gitweb.description' config item
178             # 'cgit',
179
180             # allow repo-specific hooks to be added
181             # 'repo-specific-hooks',
182
183         # performance, logging, monitoring...
184
185             # be nice
186             # 'renice 10',
187
188             # log CPU times (user, system, cumulative user, cumulative system)
189             # 'CpuTime',
190
191         # syntactic_sugar for gitolite.conf and included files
192
193             # allow backslash-escaped continuation lines in gitolite.conf
194             # 'continuation-lines',
195
196             # create implicit user groups from directory names in keydir/
197             # 'keysubdirs-as-groups',
198
199             # allow simple line-oriented macros
200             # 'macros',
201
202         # Kindergarten mode
203
204             # disallow various things that sensible people shouldn't be doing anyway
205             # 'Kindergarten',
206     ],
207
208 );
209
210 # ------------------------------------------------------------------------------
211 # per perl rules, this should be the last line in such a file:
212 1;
213
214 # Local variables:
215 # mode: perl
216 # End:
217 # vim: set syn=perl: