aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 34accb4203d15d98685b5fcddb18f040693590ab (plain)
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
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