aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/manifests/binrepo.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/buildsystem/manifests/binrepo.pp')
-rw-r--r--modules/buildsystem/manifests/binrepo.pp48
1 files changed, 48 insertions, 0 deletions
diff --git a/modules/buildsystem/manifests/binrepo.pp b/modules/buildsystem/manifests/binrepo.pp
new file mode 100644
index 00000000..5bf16b53
--- /dev/null
+++ b/modules/buildsystem/manifests/binrepo.pp
@@ -0,0 +1,48 @@
+class buildsystem::binrepo {
+ include buildsystem::var::binrepo
+ include buildsystem::var::groups
+ include sudo
+
+ # upload-bin script uses the mailx command provided by nail
+if versioncmp($::lsbdistrelease, '9') < 0 {
+ package { 'nail':
+ ensure => installed,
+ }
+} else {
+ package { 's-nail':
+ ensure => installed,
+ }
+}
+
+ user { $buildsystem::var::binrepo::login:
+ home => $buildsystem::var::binrepo::homedir,
+ }
+
+ file { [$buildsystem::var::binrepo::repodir, $buildsystem::var::binrepo::uploadinfosdir]:
+ ensure => directory,
+ owner => $buildsystem::var::binrepo::login,
+ }
+
+ mga_common::local_script {
+ 'upload-bin':
+ content => template('buildsystem/binrepo/upload-bin');
+ 'wrapper.upload-bin':
+ content => template('buildsystem/binrepo/wrapper.upload-bin');
+ }
+
+ sudo::sudoers_config { 'binrepo':
+ content => template('buildsystem/binrepo/sudoers.binrepo')
+ }
+
+ apache::vhost::base { $buildsystem::var::binrepo::hostname:
+ location => $buildsystem::var::binrepo::repodir,
+ content => template('buildsystem/binrepo/vhost_binrepo.conf'),
+ }
+
+ apache::vhost::base { "ssl_${buildsystem::var::binrepo::hostname}":
+ use_ssl => true,
+ vhost => $buildsystem::var::binrepo::hostname,
+ location => $buildsystem::var::binrepo::repodir,
+ content => template('buildsystem/binrepo/vhost_binrepo.conf'),
+ }
+}