2012-11-21 14:53:55 -05:00
|
|
|
# == Class: pypimorror
|
|
|
|
#
|
2012-10-12 12:15:23 -04:00
|
|
|
class pypimirror(
|
|
|
|
$vhost_name = $::fqdn,
|
2013-03-06 17:07:26 -08:00
|
|
|
$mirror_config = '',
|
|
|
|
$mirror_root = '/var/lib/pypimirror',
|
2012-11-21 14:53:55 -05:00
|
|
|
) {
|
2012-05-10 17:52:07 -04:00
|
|
|
|
2012-08-04 13:10:26 -05:00
|
|
|
include apache
|
2012-07-23 11:54:48 -05:00
|
|
|
include pip
|
2012-11-22 10:45:10 -08:00
|
|
|
include jeepyb
|
2012-07-23 11:54:48 -05:00
|
|
|
|
2013-03-06 17:07:26 -08:00
|
|
|
$log_root = '/var/log/pypimirror/'
|
|
|
|
$log_filename = "${log_root}/pypimirror.log"
|
|
|
|
$cache_root = '/var/cache/pypimirror'
|
|
|
|
|
2012-12-02 08:45:08 -08:00
|
|
|
if ! defined(Package['python-yaml']) {
|
|
|
|
package { 'python-yaml':
|
|
|
|
ensure => present,
|
|
|
|
}
|
2012-08-10 10:50:25 -04:00
|
|
|
}
|
|
|
|
|
2013-03-06 17:07:26 -08:00
|
|
|
user { 'mirror':
|
|
|
|
ensure => present,
|
|
|
|
home => '/home/mirror',
|
|
|
|
shell => '/bin/bash',
|
|
|
|
gid => 'mirror',
|
|
|
|
managehome => true,
|
|
|
|
require => Group['mirror'],
|
2012-05-10 17:52:07 -04:00
|
|
|
}
|
2012-10-04 16:34:23 -07:00
|
|
|
|
2013-03-06 17:07:26 -08:00
|
|
|
group { 'mirror':
|
|
|
|
ensure => present,
|
2012-05-30 12:41:43 -04:00
|
|
|
}
|
2012-10-04 16:34:23 -07:00
|
|
|
|
2013-03-06 17:07:26 -08:00
|
|
|
file { $log_root:
|
|
|
|
ensure => directory,
|
|
|
|
mode => '0755',
|
|
|
|
owner => 'mirror',
|
|
|
|
group => 'mirror',
|
|
|
|
require => User['mirror'],
|
2012-05-10 17:52:07 -04:00
|
|
|
}
|
2012-10-04 16:34:23 -07:00
|
|
|
|
2013-03-06 17:07:26 -08:00
|
|
|
file { $cache_root:
|
|
|
|
ensure => directory,
|
|
|
|
mode => '0755',
|
|
|
|
owner => 'mirror',
|
|
|
|
group => 'mirror',
|
|
|
|
require => User['mirror'],
|
2012-08-09 19:01:04 -04:00
|
|
|
}
|
|
|
|
|
2013-03-06 17:07:26 -08:00
|
|
|
file { $mirror_root:
|
|
|
|
ensure => directory,
|
|
|
|
mode => '0755',
|
|
|
|
owner => 'mirror',
|
|
|
|
group => 'mirror',
|
|
|
|
require => User['mirror'],
|
2012-08-09 19:01:04 -04:00
|
|
|
}
|
|
|
|
|
2013-03-06 17:07:26 -08:00
|
|
|
file { '/usr/local/bin/run-mirror.sh':
|
2012-10-12 12:15:23 -04:00
|
|
|
ensure => present,
|
|
|
|
mode => '0755',
|
|
|
|
owner => 'root',
|
|
|
|
group => 'root',
|
2012-06-04 09:24:07 -04:00
|
|
|
content => template('pypimirror/run-mirror.sh.erb'),
|
2012-05-10 17:52:07 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
# Add cron job to update the mirror
|
|
|
|
|
2012-10-12 12:15:23 -04:00
|
|
|
cron { 'update_mirror':
|
2013-03-06 17:07:26 -08:00
|
|
|
ensure => absent,
|
2012-10-12 12:15:23 -04:00
|
|
|
user => 'root',
|
2013-01-03 18:28:03 +00:00
|
|
|
hour => '0',
|
2013-03-06 17:07:26 -08:00
|
|
|
command => '/usr/local/bin/run-mirror.sh',
|
2012-05-10 17:52:07 -04:00
|
|
|
}
|
|
|
|
|
2013-03-06 17:07:26 -08:00
|
|
|
cron { 'update_pypi_mirror':
|
|
|
|
user => 'mirror',
|
|
|
|
hour => '0',
|
|
|
|
command => '/usr/local/bin/run-mirror.sh',
|
|
|
|
require => File['/usr/local/bin/run-mirror.sh'],
|
|
|
|
}
|
|
|
|
|
2012-05-10 17:52:07 -04:00
|
|
|
# Rotate the mirror log file
|
|
|
|
|
|
|
|
include logrotate
|
2012-10-12 12:15:23 -04:00
|
|
|
logrotate::file { 'pypimirror':
|
|
|
|
log => $log_filename,
|
2012-11-21 14:53:55 -05:00
|
|
|
options => [
|
|
|
|
'compress',
|
|
|
|
'delaycompress',
|
|
|
|
'missingok',
|
|
|
|
'rotate 7',
|
|
|
|
'daily',
|
|
|
|
'notifempty',
|
|
|
|
],
|
2012-10-12 12:15:23 -04:00
|
|
|
require => Cron['update_mirror'],
|
2012-05-10 17:52:07 -04:00
|
|
|
}
|
|
|
|
|
2012-08-04 13:10:26 -05:00
|
|
|
apache::vhost { $vhost_name:
|
2012-10-12 12:15:23 -04:00
|
|
|
port => 80,
|
2013-03-06 17:07:26 -08:00
|
|
|
docroot => $mirror_root,
|
2012-08-04 13:10:26 -05:00
|
|
|
priority => 50,
|
2012-05-10 17:52:07 -04:00
|
|
|
}
|
|
|
|
}
|