aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mga-advisories
diff options
context:
space:
mode:
authorNicolas Vigier <boklm@mageia.org>2013-06-06 19:08:28 +0000
committerNicolas Vigier <boklm@mageia.org>2013-06-06 19:08:28 +0000
commit9903d4e33861e1e851fee84a82959e85b61456ff (patch)
tree52a08367538d3bf6b31eeeeb7fb7e11e4ca1178e /modules/mga-advisories
parent5dea1b83b1f7b30dc970f0107b206fe3b26f4dbe (diff)
downloadpuppet-9903d4e33861e1e851fee84a82959e85b61456ff.tar
puppet-9903d4e33861e1e851fee84a82959e85b61456ff.tar.gz
puppet-9903d4e33861e1e851fee84a82959e85b61456ff.tar.bz2
puppet-9903d4e33861e1e851fee84a82959e85b61456ff.tar.xz
puppet-9903d4e33861e1e851fee84a82959e85b61456ff.zip
Add mga-advisories module
Diffstat (limited to 'modules/mga-advisories')
-rw-r--r--modules/mga-advisories/manifests/init.pp79
-rw-r--r--modules/mga-advisories/templates/mga-advisories.conf5
-rw-r--r--modules/mga-advisories/templates/update_script6
3 files changed, 90 insertions, 0 deletions
diff --git a/modules/mga-advisories/manifests/init.pp b/modules/mga-advisories/manifests/init.pp
new file mode 100644
index 00000000..1a369fcd
--- /dev/null
+++ b/modules/mga-advisories/manifests/init.pp
@@ -0,0 +1,79 @@
+class mga-advisories(
+ $advisories_svn = 'svn://svn.mageia.org/svn/advisories',
+ $vhost,
+){
+ $mgaadv_login = 'mga-advisories'
+ $mgaadv_homedir = "/var/lib/${mgaadv_login}"
+ $vhostdir = "${mgaadv_homedir}/vhost"
+ $advisories_dir = "${mgaadv_homedir}/advisories"
+ $status_dir = "${mgaadv_homedir}/status"
+ $update_script = '/usr/local/bin/update_mga-advisories'
+
+ group { $mgaadv_login:
+ ensure => present,
+ }
+
+ user { $mgaadv_login:
+ ensure => present,
+ comment => 'mga-advisories user',
+ home => $mgaadv_homedir,
+ managehome => true,
+ gid => $mgaadv_login,
+ }
+
+ package { 'mga-advisories':
+ ensure => installed,
+ }
+
+ file {'/etc/mga-advisories.conf':
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => '0644',
+ content => template('mga-advisories/mga-advisories.conf'),
+ require => Package['mga-advisories'],
+ }
+
+ file { [ $vhostdir, $status_dir ]:
+ ensure => directory,
+ owner => $mgaadv_login,
+ group => $mgaadv_login,
+ mode => '0755',
+ }
+
+ apache::vhost::base { $vhost:
+ location => $vhostdir,
+ require => File[$vhostdir],
+ }
+
+ apache::vhost::base { "ssl_$vhost":
+ use_ssl => true,
+ vhost => $vhost,
+ location => $vhostdir,
+ require => File[$vhostdir],
+ }
+
+ subversion::snapshot { $advisories_dir:
+ source => $advisories_svn,
+ user => $mgaadv_login,
+ refresh => '0',
+ require => User[$mgaadv_login],
+ }
+
+ file { $update_script:
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => '0755',
+ content => template('mga-advisories/update_script'),
+ }
+
+ cron { $update_script:
+ command => $update_script,
+ user => $mgaadv_login,
+ hour => '*',
+ minute => '10',
+ require => Subversion::Snapshot[$advisories_dir],
+ }
+}
+# vim: sw=2
diff --git a/modules/mga-advisories/templates/mga-advisories.conf b/modules/mga-advisories/templates/mga-advisories.conf
new file mode 100644
index 00000000..2e814fc7
--- /dev/null
+++ b/modules/mga-advisories/templates/mga-advisories.conf
@@ -0,0 +1,5 @@
+send_adv_mail: yes
+send_report_mail: yes
+out_dir: <%= @vhostdir %>
+advisories_dir: <%= @advisories_dir %>
+status_dir: <%= @status_dir %>
diff --git a/modules/mga-advisories/templates/update_script b/modules/mga-advisories/templates/update_script
new file mode 100644
index 00000000..16f7a6b1
--- /dev/null
+++ b/modules/mga-advisories/templates/update_script
@@ -0,0 +1,6 @@
+#!/bin/sh
+set -e
+
+cd <%= @advisories_dir %>
+svn up
+exec /usr/bin/mkadvisories