summaryrefslogtreecommitdiff
path: root/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/init.pp')
-rw-r--r--manifests/init.pp182
1 files changed, 2 insertions, 180 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index e96cf2d..16aa700 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -1,191 +1,13 @@
-class reprepro (
- $uploaders,
- $basedir = '/srv/reprepro',
- $origin = $::domain,
- $architectures = [ 'amd64', 'i386', 'source' ],
- $basedir_mode = '0771',
- $incoming_mode = '1777',
- $manage_distributions_conf = true,
- $manage_incoming_conf = true,
- $handle_incoming_with_cron = false,
- $handle_incoming_with_inotify = false
-){
+class reprepro {
package {
"reprepro": ensure => 'installed';
}
- user { "reprepro":
- ensure => "present",
- home => "$basedir",
- gid => "reprepro",
- password => "*",
- comment => "reprepro sandbox",
- require => Group["reprepro"],
- }
-
- if !defined(Group["reprepro"]) {
- group { "reprepro":
- ensure => present,
- }
- }
-
- File {
- owner => reprepro,
- group => reprepro,
- }
-
- file { "$basedir":
- ensure => directory,
- mode => $basedir_mode,
- }
- file { "$basedir/conf":
- ensure => directory,
- mode => '0770',
- }
- file { "$basedir/db":
- ensure => directory,
- mode => '0770',
- }
- file { "$basedir/dists":
- ensure => directory,
- mode => '0775',
- }
- file { "$basedir/pool":
- ensure => directory,
- mode => '0775',
- }
- file { "$basedir/incoming":
- ensure => directory,
- mode => $incoming_mode,
- }
- file { "$basedir/logs":
- ensure => directory,
- mode => '0775',
- }
- file { "$basedir/tmp":
- ensure => directory,
- mode => '0775',
- }
- file { "$basedir/conf/uploaders":
- mode => '0660', owner => root,
- content => template("reprepro/uploaders.erb"),
- }
- file { "$basedir/index.html":
- mode => '0664', owner => root,
- content => template("reprepro/index.html.erb"),
- }
-
- file { "$basedir/.gnupg":
- ensure => directory,
- mode => '0700',
- }
- file { "$basedir/.gnupg/secring.gpg":
- ensure => present,
- mode => '0600',
- }
file { '/usr/local/bin/reprepro-export-key':
ensure => present,
- content => template('reprepro/reprepro-export-key.sh.erb'),
+ source => "puppet:///modules/reprepro/reprepro-export-key.sh",
owner => root,
group => root,
mode => '0755',
}
- exec { "/usr/local/bin/reprepro-export-key":
- creates => "$basedir/key.asc",
- user => reprepro,
- subscribe => File["$basedir/.gnupg/secring.gpg"],
- require => File["/usr/local/bin/reprepro-export-key"],
- }
-
-
- file { "$basedir/conf/distributions":
- ensure => present,
- }
- if $manage_distributions_conf {
- File["$basedir/conf/distributions"] {
- owner => root,
- mode => '0664',
- content => template("reprepro/distributions.erb"),
- }
-
- exec { "reprepro -b $basedir createsymlinks":
- refreshonly => true,
- subscribe => File["$basedir/conf/distributions"],
- user => reprepro,
- path => "/usr/bin:/bin",
- }
- exec { "reprepro -b $basedir export":
- refreshonly => true,
- user => reprepro,
- subscribe => File["$basedir/conf/distributions"],
- path => "/usr/bin:/bin",
- }
- }
-
- file { "$basedir/conf/incoming":
- ensure => present,
- }
- if $manage_incoming_conf {
- File["$basedir/conf/incoming"] {
- mode => '0664',
- owner => root,
- source => "puppet:///modules/reprepro/incoming"
- }
- }
-
- # Handling of incoming with cron
-
- $cron_presence = $handle_incoming_with_cron ? {
- true => present,
- default => absent,
- }
-
- cron { 'reprepro':
- ensure => $cron_presence,
- command => "/usr/bin/reprepro --silent -b $basedir processincoming incoming",
- user => reprepro,
- minute => '*/5',
- require => [ Package['reprepro'], File["$basedir/conf/distributions"],
- File["$basedir/incoming"], ],
- }
-
- # Handling of incoming with inoticoming
-
- $inoticoming_presence = $handle_incoming_with_inotify ? {
- true => present,
- default => absent,
- }
- $inoticoming_enabled = $handle_incoming_with_inotify ? {
- true => true,
- default => false,
- }
-
- package { 'inoticoming':
- ensure => $inoticoming_presence,
- }
- file { '/etc/init.d/reprepro':
- ensure => $inoticoming_presence,
- owner => root,
- group => root,
- mode => '0755',
- source => "puppet:///modules/reprepro/inoticoming.init",
- }
- file { '/etc/default/reprepro':
- ensure => $inoticoming_presence,
- owner => root, group => root, mode => '0755',
- content => template('reprepro/inoticoming.default.erb'),
- }
-
- service { 'reprepro':
- ensure => $inoticoming_enabled,
- enable => $inoticoming_enabled,
- pattern => 'inoticoming.*reprepro.*processincoming',
- require => [ Package['inoticoming'],
- File['/etc/default/reprepro'],
- File['/etc/init.d/reprepro'],
- File["$basedir/incoming"] ],
- }
-
-# TODO: setup needeed lines in apache site config file
-
}