/[adm]/puppet/deployment/mgagit/manifests/init.pp
ViewVC logotype

Contents of /puppet/deployment/mgagit/manifests/init.pp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3330 - (show annotations) (download)
Sun Aug 25 14:53:16 2013 UTC (10 years, 7 months ago) by colin
File size: 2707 byte(s)
Rename the 'Git user' to 'Mageia Git' as it's shown to the public via emails and on cgit
1 class mgagit(
2 $git_dir = '/git',
3 $ldap_server = 'ldap.mageia.org',
4 $binddn = 'uid=mgagit,ou=People,dc=mageia,dc=org',
5 $vhost = 'projects.mageia.org',
6 $bindpw
7 ){
8 $git_login = 'git'
9 $git_homedir = "/var/lib/${git_login}"
10 $gitolite_dir = "${git_homedir}/.gitolite"
11 $gitolite_keydir = "${gitolite_dir}/keydir"
12 $gitolite_tmpldir = "/etc/mgagit/tmpl"
13 $gitolite_confdir = "${gitolite_dir}/conf"
14 $gitolite_conf = "${gitolite_confdir}/gitolite.conf"
15 $gitoliterc = "$git_homedir/.gitolite.rc"
16 $bindpwfile = '/etc/mgagit.secret'
17 $reposconf_dir = "${git_homedir}/repos-config"
18 $vhostdir = "$git_homedir/www"
19
20 package { ['mgagit', 'gitolite']:
21 ensure => installed,
22 }
23
24 group { $git_login:
25 ensure => present,
26 }
27 user { $git_login:
28 ensure => present,
29 comment => 'Mageia Git',
30 home => $git_homedir,
31 managehome => true,
32 gid => $git_login,
33 }
34
35 file { '/etc/mgagit.conf':
36 ensure => present,
37 owner => root,
38 group => root,
39 mode => '0644',
40 content => template('mgagit/mgagit.conf'),
41 require => Package['mgagit'],
42 }
43
44 mga_common::local_script { 'mgagit-format-commit-email':
45 content => template('mgagit/format-commit-email.sh'),
46 }
47
48 file { $gitolite_tmpldir:
49 ensure => directory,
50 owner => root,
51 group => root,
52 mode => '0755',
53 }
54
55 file { "$gitolite_tmpldir/group.gl":
56 ensure => 'link',
57 target => '/usr/share/mgagit/tmpl/group.gl',
58 }
59
60 file { "$gitolite_tmpldir/repodef_repo.gl":
61 ensure => present,
62 owner => root,
63 group => root,
64 mode => '0644',
65 content => template('mgagit/repodef_repo.gl'),
66 }
67
68 mgagit::tmpl { 'soft':
69 tmpldir => $gitolite_tmpldir,
70 group => 'packagers-committers',
71 }
72
73 mgagit::tmpl { 'web':
74 tmpldir => $gitolite_tmpldir,
75 ml => 'atelier',
76 }
77
78 file { [$gitolite_dir, $gitolite_keydir, $gitolite_confdir,
79 $reposconf_dir, $vhostdir]:
80 ensure => directory,
81 owner => $git_login,
82 group => $git_login,
83 mode => '0755',
84 }
85
86 file { $gitoliterc:
87 ensure => present,
88 owner => $git_login,
89 group => $git_login,
90 mode => '0644',
91 content => template('mgagit/gitolite.rc'),
92 }
93
94 file { $bindpwfile:
95 ensure => present,
96 owner => $git_login,
97 group => $git_login,
98 mode => '0600',
99 content => inline_template('<%= @bindpw %>'),
100 }
101
102 file { $git_dir:
103 ensure => directory,
104 owner => $git_login,
105 group => $git_login,
106 mode => '0755',
107 }
108
109 file { "$git_homedir/repositories":
110 ensure => 'link',
111 target => $git_dir,
112 }
113
114 apache::vhost::base { $vhost:
115 location => $vhostdir,
116 }
117 }
118 # vim: sw=2

  ViewVC Help
Powered by ViewVC 1.1.30