diff options
Diffstat (limited to 'deployment/repositories')
| -rw-r--r-- | deployment/repositories/manifests/git_mirror.pp | 16 | ||||
| -rw-r--r-- | deployment/repositories/manifests/subversion.pp | 73 | ||||
| -rw-r--r-- | deployment/repositories/manifests/svn_mirror.pp | 17 | ||||
| -rw-r--r-- | deployment/repositories/templates/puppet_update.sh | 2 | ||||
| -rw-r--r-- | deployment/repositories/templates/puppet_update.sudoers | 1 |
5 files changed, 109 insertions, 0 deletions
diff --git a/deployment/repositories/manifests/git_mirror.pp b/deployment/repositories/manifests/git_mirror.pp new file mode 100644 index 00000000..7384b5a8 --- /dev/null +++ b/deployment/repositories/manifests/git_mirror.pp @@ -0,0 +1,16 @@ +class repositories::git_mirror { + #file { '/git': + # ensure => directory, + #} + + #git::mirror { '/git/forum/': + # description => "Reference code for forum.${::domain}", + # source => "git://git.${::domain}/forum/", + #} + + #git::mirror { '/git/initscripts/': + # description => 'Reference code for Initscripts', + # source => "git://git.${::domain}/initscripts/", + #} +} + diff --git a/deployment/repositories/manifests/subversion.pp b/deployment/repositories/manifests/subversion.pp new file mode 100644 index 00000000..742efe67 --- /dev/null +++ b/deployment/repositories/manifests/subversion.pp @@ -0,0 +1,73 @@ +class repositories::subversion { + + # Be sure that any mailing list found in commit_mail here whitelists + # "subversion_noreply@ml.mageia.org" as a sender by adding it to + # sender_email in its sympa::list::X configuration in + # deployment/lists/manifests/init.pp + + subversion::repository { '/svn/adm/': + group => 'mga-sysadmin', + commit_mail => ["sysadmin-commits@ml.${::domain}"], + syntax_check => ['check_puppet_templates','check_puppet'], + } + + subversion::repository { '/svn/advisories': + group => 'mga-qa-committers', + commit_mail => ["qa-commits@ml.${::domain}"], + } + + sudo::sudoers_config { 'puppet_update': + content => template('repositories/puppet_update.sudoers') + } + + subversion::hook::post_commit { '/svn/adm/|puppet_update': + content => template('repositories/puppet_update.sh') + } + + subversion::repository { '/svn/org/': + group => 'mga-board', + commit_mail => ["board-commits@ml.${::domain}"], + } + + subversion::repository { '/svn/soft/': + group => 'mga-packagers', + commit_mail => ["soft-commits@ml.${::domain}"], + syntax_check => ['check_po'], + i18n_mail => ["i18n-reports@ml.${::domain}"], + } + + subversion::repository { '/svn/soft_publish/': + group => 'mga-packagers', + commit_mail => ["soft-commits@ml.${::domain}"], + } + + subversion::repository { '/svn/web/': + group => 'mga-web', + commit_mail => ["atelier-commits@ml.${::domain}"], + syntax_check => ['check_php'], + } + + subversion::repository { '/svn/packages/': + group => 'mga-packagers-committers', + no_binary => true, + commit_mail => ["packages-commits@ml.${::domain}"], + } + + subversion::repository { '/svn/test-irker/': + group => 'mga-packagers', + no_binary => true, + commit_mail => ["tmb@${::domain}"], + irker_conf => { + project => 'mageia', + repo => 'testrepo', + tinyifier => 'https://is.gd/create.php?format=simple&url=', + urlprefix => "https://svnweb.${::domain}/%(repo)?view=revision&revision=", + channels => '{irc://chat.freenode.net/commits, irc://chat.freenode.net/test-irker}', + }, + } + + subversion::repository { '/svn/treasurer/': + group => 'mga-treasurer', + commit_mail => ["treasurer-commits@ml.${::domain}"], + } +} diff --git a/deployment/repositories/manifests/svn_mirror.pp b/deployment/repositories/manifests/svn_mirror.pp new file mode 100644 index 00000000..d71e896d --- /dev/null +++ b/deployment/repositories/manifests/svn_mirror.pp @@ -0,0 +1,17 @@ +class repositories::svn_mirror { + file { '/svn': + ensure => directory, + } + + subversion::mirror_repository { + '/svn/adm/': source => "svn://svn.${::domain}/svn/adm/"; + '/svn/advisories/':source => "svn://svn.${::domain}/svn/advisories/"; + '/svn/soft/': source => "svn://svn.${::domain}/svn/soft/"; + '/svn/web/': source => "svn://svn.${::domain}/svn/web/"; + '/svn/packages/': source => "svn://svn.${::domain}/svn/packages/"; + '/svn/org/': source => "svn://svn.${::domain}/svn/org/"; + '/svn/treasurer/': source => "svn://svn.${::domain}/svn/treasurer/"; + } + + # no binrepos, too big to mirror +} diff --git a/deployment/repositories/templates/puppet_update.sh b/deployment/repositories/templates/puppet_update.sh new file mode 100644 index 00000000..07ff18ab --- /dev/null +++ b/deployment/repositories/templates/puppet_update.sh @@ -0,0 +1,2 @@ +#!/bin/sh +sudo /usr/bin/svn update -q --non-interactive --accept theirs-full /etc/puppet diff --git a/deployment/repositories/templates/puppet_update.sudoers b/deployment/repositories/templates/puppet_update.sudoers new file mode 100644 index 00000000..42235771 --- /dev/null +++ b/deployment/repositories/templates/puppet_update.sudoers @@ -0,0 +1 @@ +%mga-sysadmin ALL= NOPASSWD: /usr/bin/svn update -q --non-interactive --accept theirs-full /etc/puppet |
