1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
mgagit is a tool used to manage Mageia git repositories.
How it works
------------
mgagit takes :
- an ldap directory containing groups, and users with ssh keys
- repositories and non-ldap groups definitions
And generate the corresponding gitolite configuration and keys directory.
Available commands
------------------
- glconf : Print gitolite configuration
- glrun : Update gitolite configuration
- showconf : Display the repos configuration in YAML. This is mainly
useful for debugging.
Configuration
-------------
Configuration is done in the file /etc/mgagit.conf. The default
configuration is available in file /usr/share/mgagit/config.
The files are in YAML format.
The following configuration options are available :
use_ldap:
enable use of ldap to fetch user keys and groups
ldapserver:
hostname of the ldap server
binddn:
dn used to authenticate on the ldap server
bindpwfile:
file containing the password used to authenticate
groupbase:
the base used to search ldap groups
groupfilter:
filter to search ldap groups
userbase:
the base used to search ldap users
userfilter:
filter to search ldap users
uid_username_re:
regular expression to extract a username from ldap uid
ldap_users_infos:
list of ldap user attributes that we should keep available
group_re:
regular expression to extract group name from cn
pubkey_dir:
directory containing users ssh keys, used by gitolite
tmpl_dir:
templates directory
www_dir:
output directory where some files are written (repos db dump, and
some html pages)
gitolite_config:
gitolite configuration file
repodef_dir:
directory containing repos definitions (see repos_config)
repos_config:
list of repos and / or group definition directories. Use
something like this to include a directory containing repos or
groups definitions :
prefix:
prefix in the repos tree. In case of git_url or include_dir,
this is also used to indicate that the included directory
defines repos (*.repo files).
group_prefix:
This value is prefixed to the defined group names. This is also
used to indicate that the included directory can contain groups
definitions (*.group files). If you don't want to have a prefix,
but still want to define groups, set an empty string.
git_url:
url of a git repository containing definitions, that will be
cloned and pulled, in 'repodef_dir'
include_dir:
alternatively, you can specify the path to a directory
containing definitions (if it's not from a git repository,
or if you don't want to be pulled automatically)
gl_template:
template file used to define the repos
Template variables
------------------
The following variables are available in all templates :
config:
The general config
r:
The repos, groups and users definitions
The following variables are available in repo definition templates :
repo:
The repo name
repo_conf:
A function to get the value of some configuration option, for
the current repo. It will first try to get it from the repo
specific configuration, and if not defined will return the
configuration from the repo definition origin, or the main
configuration.
origin_conf:
This is the same as repo_conf, except that it will skip the repo
specific configuration. You will use this function when you
don't want the option to be overriden by the repo definition.
|