aboutsummaryrefslogtreecommitdiffstats
path: root/deployment/mga_buildsystem/manifests/config.pp
blob: 31cbe195ae51d388bbacda89013f24a71c7e28e1 (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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
class mga_buildsystem::config {
    class { 'buildsystem::var::signbot':
	keyid => '80420F66',
	keyemail => "packages@${::domain}",
	keyname => 'Mageia Packages',
    }

    class { 'buildsystem::var::groups':
	packagers => 'mga-packagers',
	packagers_committers => 'mga-packagers-committers',
    }

    class { 'buildsystem::var::scheduler' :
	admin_mail => 'mageia-sysadm@mageia.org',
	build_nodes => {
	    'i586' => [ 'jonund0', 'ecosse0', 'jonund1', 'ecosse1' ],
	    'x86_64' => [ 'ecosse0', 'jonund0', 'ecosse1', 'jonund1' ],
	},
    }
    include buildsystem::var::repository
    class { 'buildsystem::var::youri':
        packages_archivedir => "${buildsystem::var::scheduler::homedir}/old",
    }

    class { 'buildsystem::var::binrepo':
	uploadmail_from => "root@${::domain}",
	uploadmail_to => "packages-commits@ml.${::domain}",
    }

    $svn_hostname = "svn.$::domain"
    $svn_root_packages = "svn://${svn_hostname}/svn/packages"
    $svn_root_packages_ssh = "svn+ssh://${svn_hostname}/svn/packages"
    class { 'buildsystem::var::mgarepo':
	submit_host => "pkgsubmit.${::domain}",
	svn_hostname => $svn_hostname,
	svn_root_packages => $svn_root_packages,
	svn_root_packages_ssh => $svn_root_packages_ssh,
	oldurl => "${svn_root_packages_ssh}/misc",
	conf => {
	    'global' => {
		'ldap-server' => "ldap.${::domain}",
		'ldap-base' => "ou=People,${::dc_suffix}",
		'ldap-filterformat' => '(&(objectClass=inetOrgPerson)(uid=$username))',
		'ldap-resultformat' => '$cn <$mail>',
	    }
	}
    }

    $std_arch = ['i586', 'x86_64']
    $std_repos = {
	'release' => {
	    'media_types' => [ 'release' ],
	    'requires' => [],
	},
	'updates_testing' => {
	    'media_types' => [ 'testing' ],
	    'noauto' => '1',
	    'requires' => [ 'updates' ],
	},
	'backports_testing' => {
	    'media_types' => [ 'testing' ],
	    'noauto' => '1',
	    'requires' => [ 'backports' ],
	},
	'backports' => {
	    'media_types' => [ 'backports' ],
	    'noauto' => '1',
	    'requires' => [ 'updates' ],
	},
	'updates' => {
	    'media_types' => [ 'updates' ],
	    'updates_for' => 'release',
	    'requires' => [ 'release' ],
	},
    }
    $std_medias = {
	'core'    => {
	    'repos' => $std_repos,
	    'media_types' => [ 'official', 'free' ],
	},
	'nonfree' => {
	    'repos' => $std_repos,
	    'media_types' => [ 'official' ],
	    'noauto' => '1',
	    'requires' => [ 'core' ],
	},
	'tainted' => {
	    'repos' => $std_repos,
	    'media_types' => [ 'official' ],
	    'noauto' => '1',
	    'requires' => [ 'core' ],
	},
    }
    $std_base_media = [ 'core/release', 'core/updates' ]
    $infra_medias = {
	'infra' => {
	    'repos' => {
		'updates' => {
		    'media_types' => [ 'updates' ],
		    'requires' => [ 'release' ],
		},
	    },
	    'media_types' => [ 'infra' ],
	    'requires' => [ 'core' ],
	},
    }
    $std_macros = {
	'distsuffix' => '.mga',
	'distribution' => 'Mageia',
	'vendor' => 'Mageia.Org',
	'_real_vendor' => 'mageia',
    }
    $repo_allow_from = [
	'2a02:2178:2:7::3/64', # valstar
	'2a02:2178:2:7::4/64', # ecosse
	'2a02:2178:2:7::5/64', # jonund
	".${::domain}",
	'10.42.0',
	'212.85.158.152',      #rabbit
    ]
    class { 'buildsystem::var::distros':
	default_distro => 'cauldron',
	distros => {
	    'cauldron' => {
		'arch' => $std_arch,
		'medias' => $std_medias,
		'base_media' => $std_base_media,
		'branch' => 'Devel',
		'version' => '3',
		'submit_allowed' => "${svn_root_packages}/cauldron",
		'macros' => $std_macros,
		'repo_allow_from' => $repo_allow_from,
	    },

	    '1'        => {
		'arch' => $std_arch,
		'medias' => $std_medias,
		'base_media' => $std_base_media,
		'branch' => 'Official',
		'version' => '1',
		'submit_allowed' => "${svn_root_packages}/updates/1",
		'macros' => $std_macros,
		'repo_allow_from' => $repo_allow_from,
	    },

	    '2'        => {
		'arch' => $std_arch,
		'medias' => $std_medias,
		'base_media' => $std_base_media,
		'branch' => 'Official',
		'version' => '2',
		'submit_allowed' => "${svn_root_packages}/updates/2",
		'macros' => $std_macros,
		'repo_allow_from' => $repo_allow_from,
	    },

	    'infra_1'  => {
		'arch' => $std_arch,
		'medias' => $infra_medias,
		'base_media' => $std_base_media,
		'branch' => 'Official',
		'version' => '1',
		'submit_allowed' => $svn_root_packages,
		'macros' => $std_macros,
		'based_on' => {
		    '1' => {
			'core' => [ 'release', 'updates' ],
		    },
		},
	    },

	    'infra_2'  => {
		'arch' => $std_arch,
		'medias' => $infra_medias,
		'base_media' => $std_base_media,
		'branch' => 'Official',
		'version' => '2',
		'submit_allowed' => $svn_root_packages,
		'macros' => $std_macros,
		'based_on' => {
		    '2' => {
			'core' => [ 'release', 'updates' ],
		    },
		},
	    },
	}
    }

}