/[adm]/puppet/modules/buildsystem/manifests/init.pp
ViewVC logotype

Annotation of /puppet/modules/buildsystem/manifests/init.pp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 543 - (hide annotations) (download)
Wed Dec 8 07:33:18 2010 UTC (13 years, 4 months ago) by blino
File size: 5975 byte(s)
initial youri submit-todo conf
1 misc 213 class buildsystem {
2 dmorgan 86
3 boklm 356 class base {
4     $build_login = "iurt"
5 blino 387 $build_home_dir = "/home/$build_login"
6 blino 397 $sched_login = "schedbot"
7 blino 393 $sched_home_dir = "/home/$sched_login"
8 blino 366
9     include ssh::auth
10     ssh::auth::key { $build_login: } # declare a key for build bot: RSA, 2048 bits
11 blino 395 ssh::auth::key { $sched_login: } # declare a key for sched bot: RSA, 2048 bits
12 boklm 356 }
13 boklm 355
14 boklm 356 class mainnode inherits base {
15 blino 381 include iurtuser
16 blino 353
17 blino 395 sshuser { $sched_login:
18     homedir => $sched_home_dir,
19     comment => "System user used to schedule builds",
20     }
21    
22 blino 399 ssh::auth::client { $sched_login: }
23     ssh::auth::server { $build_login: }
24    
25 blino 398 $package_list = ['task-bs-cluster-main', 'iurt']
26     package { $package_list:
27 blino 350 ensure => "installed"
28     }
29 blino 403
30     apache::vhost_other_app { "repository.$domain":
31 blino 404 vhost_file => "buildsystem/vhost_repository.conf",
32 blino 403 }
33    
34 blino 466 apache::vhost_other_app { "pkgsubmit.$domain":
35     vhost_file => "buildsystem/vhost_pkgsubmit.conf",
36     }
37    
38 blino 430 include scheduler
39 blino 431 include gatherer
40 blino 500 include repsys
41 blino 517 include youri_submit
42 blino 350 }
43    
44 boklm 356 class buildnode inherits base {
45 misc 213 include iurt
46 dmorgan 86 }
47    
48 misc 265 class scheduler {
49     # ulri
50 blino 430 include iurtupload
51 misc 265 }
52    
53 blino 431 class gatherer {
54 misc 265 # emi
55 blino 430 include iurtupload
56 misc 265 }
57 blino 430
58     class iurtupload {
59 blino 432 file { "/etc/iurt/upload.conf":
60 blino 430 ensure => present,
61     owner => $build_login,
62     group => $build_login,
63     mode => 644,
64     require => File["/etc/iurt"],
65     content => template("buildsystem/upload.conf")
66     }
67     }
68 misc 265
69     class repsys {
70     package { 'repsys':
71    
72     }
73    
74 blino 505 package { 'rpm-build':
75     }
76    
77 blino 500 file { "repsys.conf":
78     path => "/etc/repsys.conf",
79     owner => root,
80     group => root,
81     mode => 644,
82     content => template("buildsystem/repsys.conf")
83     }
84 blino 502
85     file { "$sched_home_dir/repsys":
86     ensure => "directory",
87 blino 508 owner => $sched_login,
88 blino 502 require => File[$sched_home_dir],
89     }
90    
91     file { "$sched_home_dir/repsys/tmp":
92     ensure => "directory",
93 blino 508 owner => $sched_login,
94 boklm 512 group => "mga-packagers",
95 boklm 510 mode => 1775,
96 blino 502 require => File["$sched_home_dir/repsys"],
97     }
98    
99     file { "$sched_home_dir/repsys/srpms":
100     ensure => "directory",
101 blino 508 owner => $sched_login,
102 boklm 512 group => "mga-packagers",
103 boklm 510 mode => 1775,
104 blino 502 require => File["$sched_home_dir/repsys"],
105     }
106 misc 265 }
107    
108 blino 516 class youri_submit {
109 boklm 522 include sudo
110    
111 blino 516 file { "/usr/local/bin/mdv-youri-submit":
112     owner => root,
113     group => root,
114     mode => 755,
115     content => template("buildsystem/mdv-youri-submit")
116     }
117    
118     file { "/usr/local/bin/mdv-youri-submit.wrapper":
119     owner => root,
120     group => root,
121     mode => 755,
122     content => template("buildsystem/mdv-youri-submit.wrapper")
123     }
124    
125     file { "/etc/sudoers.d/mdv-youri-submit":
126     owner => root,
127     group => root,
128     mode => 440,
129     content => template("buildsystem/sudoers.youri")
130     }
131 blino 543
132     file { "/etc/youri":
133     ensure => "directory",
134     require => File["/etc/youri"],
135     }
136    
137     file { "/etc/youri/submit-todo.conf":
138     ensure => present,
139     mode => 644,
140     require => File["/etc/youri"],
141     content => template("buildsystem/submit-todo.conf")
142     }
143 blino 516 }
144    
145 blino 394 define sshuser($homedir, $comment) {
146     group {"$title":
147 blino 351 ensure => present,
148     }
149    
150 blino 394 user {"$title":
151 blino 351 ensure => present,
152 blino 393 comment => $comment,
153 blino 351 managehome => true,
154 blino 394 gid => $title,
155 blino 351 shell => "/bin/bash",
156 blino 394 notify => Exec["unlock$title"],
157 blino 424 require => Group[$title],
158 blino 351 }
159 blino 372
160 blino 386 # set password to * to unlock the account but forbid login through login
161 blino 394 exec { "unlock$title":
162     command => "usermod -p '*' $title",
163 blino 386 refreshonly => true,
164     }
165    
166 blino 393 file { $homedir:
167 blino 383 ensure => "directory",
168 blino 423 require => User[$title],
169 blino 383 }
170    
171 blino 393 file { "$homedir/.ssh":
172 blino 372 ensure => "directory",
173     mode => 600,
174 blino 394 owner => $title,
175     group => $title,
176 blino 423 require => File[$homedir],
177 blino 372 }
178 blino 351 }
179    
180 blino 393 class iurtuser {
181 blino 394 sshuser { $build_login:
182     homedir => $build_home_dir,
183     comment => "System user used to run build bots",
184     }
185 blino 429
186     file { "/etc/iurt":
187     ensure => "directory",
188     }
189 blino 393 }
190    
191 misc 213 class iurt {
192 boklm 216 include sudo
193 blino 381 include iurtuser
194 blino 366 ssh::auth::client { $build_login: }
195 blino 396 ssh::auth::server { $sched_login: user => $build_login }
196 misc 213
197     # build node common settings
198     # we could have the following skip list to use less space:
199     # '/(drakx-installer-binaries|drakx-installer-advertising|gfxboot|drakx-installer-stage2|mandriva-theme)/'
200     $package_list = ['task-bs-cluster-chroot', 'iurt']
201     package { $package_list:
202     ensure => installed;
203     }
204    
205 blino 426 file { "/etc/iurt/build":
206     ensure => "directory",
207 blino 428 require => File["/etc/iurt"],
208 blino 426 }
209    
210 blino 425 file { "/etc/iurt/build/cauldron.conf":
211 misc 213 ensure => present,
212     owner => $build_login,
213     group => $build_login,
214     mode => 644,
215 blino 426 require => File["/etc/iurt/build"],
216 boklm 218 content => template("buildsystem/iurt.cauldron.conf")
217 misc 213 }
218    
219 boklm 216 file { "/etc/sudoers.d/iurt":
220     ensure => present,
221     owner => root,
222     group => root,
223 boklm 219 mode => 440,
224 boklm 218 content => template("buildsystem/sudoers.iurt")
225 boklm 216 }
226 dmorgan 86 }
227     }

  ViewVC Help
Powered by ViewVC 1.1.30