/[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 405 - (hide annotations) (download)
Mon Nov 22 23:30:59 2010 UTC (13 years, 4 months ago) by blino
File size: 3147 byte(s)
include apache::base

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 blino 405 include apache::base
31 blino 403 apache::vhost_other_app { "repository.$domain":
32 blino 404 vhost_file => "buildsystem/vhost_repository.conf",
33 blino 403 }
34    
35 blino 350 }
36    
37 boklm 356 class buildnode inherits base {
38 misc 213 include iurt
39 dmorgan 86 }
40    
41 misc 265 class scheduler {
42     # ulri
43     }
44    
45     class dispatcher {
46     # emi
47     }
48    
49     class repsys {
50     package { 'repsys':
51    
52     }
53    
54    
55     }
56    
57 blino 394 define sshuser($homedir, $comment) {
58     group {"$title":
59 blino 351 ensure => present,
60     }
61    
62 blino 394 user {"$title":
63 blino 351 ensure => present,
64 blino 393 comment => $comment,
65 blino 351 managehome => true,
66 blino 394 gid => $title,
67 blino 351 shell => "/bin/bash",
68 blino 394 notify => Exec["unlock$title"],
69 blino 351 }
70 blino 372
71 blino 386 # set password to * to unlock the account but forbid login through login
72 blino 394 exec { "unlock$title":
73     command => "usermod -p '*' $title",
74 blino 386 refreshonly => true,
75     }
76    
77 blino 393 file { $homedir:
78 blino 383 ensure => "directory",
79     }
80    
81 blino 393 file { "$homedir/.ssh":
82 blino 372 ensure => "directory",
83     mode => 600,
84 blino 394 owner => $title,
85     group => $title,
86 blino 372 }
87 blino 351 }
88    
89 blino 393 class iurtuser {
90 blino 394 sshuser { $build_login:
91     homedir => $build_home_dir,
92     comment => "System user used to run build bots",
93     }
94 blino 393 }
95    
96 misc 213 class iurt {
97 boklm 216 include sudo
98 blino 381 include iurtuser
99 blino 366 ssh::auth::client { $build_login: }
100 blino 396 ssh::auth::server { $sched_login: user => $build_login }
101 misc 213
102     # build node common settings
103     # we could have the following skip list to use less space:
104     # '/(drakx-installer-binaries|drakx-installer-advertising|gfxboot|drakx-installer-stage2|mandriva-theme)/'
105     $package_list = ['task-bs-cluster-chroot', 'iurt']
106     package { $package_list:
107     ensure => installed;
108     }
109    
110 blino 351 file { "$build_home_dir/.iurt.cauldron.conf":
111 misc 213 ensure => present,
112     owner => $build_login,
113     group => $build_login,
114     mode => 644,
115 boklm 218 content => template("buildsystem/iurt.cauldron.conf")
116 misc 213 }
117    
118 boklm 216 file { "/etc/sudoers.d/iurt":
119     ensure => present,
120     owner => root,
121     group => root,
122 boklm 219 mode => 440,
123 boklm 218 content => template("buildsystem/sudoers.iurt")
124 boklm 216 }
125 dmorgan 86 }
126     }

  ViewVC Help
Powered by ViewVC 1.1.30