OLD | NEW |
1 # == Class: hgweb | 1 # == Class: hgweb |
2 # | 2 # |
3 # A hgweb server setup. | 3 # A hgweb server setup. |
4 # | 4 # |
5 # === Parameters: | 5 # === Parameters: |
6 # | 6 # |
7 # [*domain*] | 7 # [*domain*] |
8 # The auhority part of the URL the instance is associated with. | 8 # The auhority part of the URL the instance is associated with. |
9 # | 9 # |
10 # [*is_default*] | 10 # [*is_default*] |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 | 47 |
48 | 48 |
49 user {'hg': | 49 user {'hg': |
50 comment => 'hgweb', | 50 comment => 'hgweb', |
51 groups => ['www-data'], | 51 groups => ['www-data'], |
52 home => '/home/hg', | 52 home => '/home/hg', |
53 managehome => true, | 53 managehome => true, |
54 shell => '/bin/bash', | 54 shell => '/bin/bash', |
55 } | 55 } |
56 | 56 |
57 | |
58 file {'/home/hg/.ssh': | 57 file {'/home/hg/.ssh': |
59 ensure => 'directory', | 58 ensure => 'directory', |
60 group => 'hg', | 59 group => 'hg', |
61 mode => 0750, | 60 mode => 0750, |
62 owner => 'hg', | 61 owner => 'hg', |
63 require => User['hg'], | 62 require => User['hg'], |
64 } | 63 } |
65 | 64 |
66 file {'/home/hg/web': | 65 file {'/home/hg/web': |
67 ensure => 'directory', | 66 ensure => 'directory', |
(...skipping 18 matching lines...) Expand all Loading... |
86 content => template('hgweb/hgrc.erb'), | 85 content => template('hgweb/hgrc.erb'), |
87 group => 'hg', | 86 group => 'hg', |
88 mode => 0644, | 87 mode => 0644, |
89 owner => 'hg', | 88 owner => 'hg', |
90 require => [ | 89 require => [ |
91 Class['sitescripts'], | 90 Class['sitescripts'], |
92 Exec['hgaccess_init'], | 91 Exec['hgaccess_init'], |
93 ], | 92 ], |
94 } | 93 } |
95 | 94 |
96 | |
97 exec {'hgaccess_init': | 95 exec {'hgaccess_init': |
98 command => 'hg init .', | 96 command => 'hg init .', |
99 creates => '/home/hg/web/hgaccess/.hg', | 97 creates => '/home/hg/web/hgaccess/.hg', |
100 cwd => '/home/hg/web/hgaccess', | 98 cwd => '/home/hg/web/hgaccess', |
101 logoutput => true, | 99 logoutput => true, |
102 path => '/usr/local/bin:/usr/bin:/bin', | 100 path => '/usr/local/bin:/usr/bin:/bin', |
103 require => File['/home/hg/web/hgaccess'], | 101 require => File['/home/hg/web/hgaccess'], |
104 user => 'hg', | 102 user => 'hg', |
105 } | 103 } |
106 | 104 |
107 exec {'hgaccess_commit': | 105 exec {'hgaccess_commit': |
108 command => 'hg add . && hg commit -u Puppet -m "Initial commit"', | 106 command => 'hg add . && hg commit -u Puppet -m "Initial commit"', |
109 creates => '/home/hg/.ssh/authorized_keys', | 107 creates => '/home/hg/.ssh/authorized_keys', |
110 cwd => '/home/hg/web/hgaccess', | 108 cwd => '/home/hg/web/hgaccess', |
111 environment => ['PYTHONPATH=/opt/sitescripts'], | 109 environment => ['PYTHONPATH=/opt/sitescripts'], |
112 logoutput => true, | 110 logoutput => true, |
113 path => '/usr/local/bin:/usr/bin:/bin', | 111 path => '/usr/local/bin:/usr/bin:/bin', |
114 require => [ | 112 require => [ |
115 File['/home/hg/web/hgaccess/.hg/hgrc'], | 113 File['/home/hg/web/hgaccess/.hg/hgrc'], |
116 File['/home/hg/.ssh'], | 114 File['/home/hg/.ssh'], |
117 ], | 115 ], |
118 user => 'hg', | 116 user => 'hg', |
119 } | 117 } |
120 | 118 |
121 | |
122 concat::fragment {'sshd_user_hg': | 119 concat::fragment {'sshd_user_hg': |
123 content => 'Match User hg | 120 content => 'Match User hg |
124 AllowTcpForwarding no | 121 AllowTcpForwarding no |
125 X11Forwarding no | 122 X11Forwarding no |
126 AllowAgentForwarding no | 123 AllowAgentForwarding no |
127 GatewayPorts no | 124 GatewayPorts no |
128 ForceCommand cd ~/web && PYTHONPATH=/opt/sitescripts hg-ssh $HGREPOS | 125 ForceCommand cd ~/web && PYTHONPATH=/opt/sitescripts hg-ssh $HGREPOS |
129 ', | 126 ', |
130 order => '99', | 127 order => '99', |
131 target => 'sshd_config', | 128 target => 'sshd_config', |
132 } | 129 } |
133 | 130 |
134 | |
135 file {'/etc/hgweb.ini': | 131 file {'/etc/hgweb.ini': |
136 mode => 644, | 132 mode => 644, |
137 require => Package[$required_packages], | 133 require => Package[$required_packages], |
138 source => 'puppet:///modules/hgweb/hgweb.ini', | 134 source => 'puppet:///modules/hgweb/hgweb.ini', |
139 } | 135 } |
140 | 136 |
141 file {'/opt/hgweb.fcgi': | 137 file {'/opt/hgweb.fcgi': |
142 mode => 755, | 138 mode => 755, |
143 require => File['/etc/hgweb.ini'], | 139 require => File['/etc/hgweb.ini'], |
144 source => 'puppet:///modules/hgweb/hgweb.fcgi', | 140 source => 'puppet:///modules/hgweb/hgweb.fcgi', |
(...skipping 30 matching lines...) Expand all Loading... |
175 }, | 171 }, |
176 source => 'puppet:///modules/hgweb/nginx.conf', | 172 source => 'puppet:///modules/hgweb/nginx.conf', |
177 is_default => $is_default, | 173 is_default => $is_default, |
178 log => 'access_log_hg', | 174 log => 'access_log_hg', |
179 private_key => $private_key ? { | 175 private_key => $private_key ? { |
180 'undef' => undef, | 176 'undef' => undef, |
181 default => $private_key, | 177 default => $private_key, |
182 }, | 178 }, |
183 } | 179 } |
184 } | 180 } |
OLD | NEW |