66 lines
1.4 KiB
ObjectPascal
66 lines
1.4 KiB
ObjectPascal
![]() |
# == Class: openstack_project::gem_mirror
|
||
|
#
|
||
|
class openstack_project::gem_mirror (
|
||
|
$data_directory = '/afs/.openstack.org/mirror/gem',
|
||
|
$parallelism = '10',
|
||
|
$cron_frequency = '*/5',
|
||
|
) {
|
||
|
|
||
|
include ::logrotate
|
||
|
|
||
|
logrotate::file { 'rubygems-mirror':
|
||
|
log => '/var/log/rubygems/mirror.log',
|
||
|
options => [
|
||
|
'compress',
|
||
|
'copytruncate',
|
||
|
'missingok',
|
||
|
'rotate 7',
|
||
|
'daily',
|
||
|
'notifempty',
|
||
|
],
|
||
|
}
|
||
|
|
||
|
group { 'rubygems':
|
||
|
ensure => 'present',
|
||
|
before => User['rubygems'],
|
||
|
}
|
||
|
|
||
|
user { 'rubygems':
|
||
|
ensure => 'present',
|
||
|
comment => 'Service used to run rubygems mirror synchronization',
|
||
|
managehome => true,
|
||
|
require => Package['rubygems-mirror'],
|
||
|
}
|
||
|
|
||
|
file { '/home/rubygems/.gem':
|
||
|
ensure => directory,
|
||
|
owner => 'rubygems',
|
||
|
group => 'rubygems',
|
||
|
mode => '0600',
|
||
|
replace => true,
|
||
|
require => User['rubygems'],
|
||
|
}
|
||
|
|
||
|
file { '/home/rubygems/.gem/.mirrorrc':
|
||
|
ensure => present,
|
||
|
owner => 'rubygems',
|
||
|
group => 'rubygems',
|
||
|
mode => '0600',
|
||
|
content => template('openstack_project/rubygems_mirrorrc.erb'),
|
||
|
replace => true,
|
||
|
require => File['/home/rubygems/.gem'],
|
||
|
}
|
||
|
|
||
|
package { 'rubygems-mirror':
|
||
|
ensure => latest,
|
||
|
provider => gem,
|
||
|
}
|
||
|
|
||
|
file { ['/var/run/rubygems','/var/log/rubygems']:
|
||
|
ensure => directory,
|
||
|
owner => 'rubygems',
|
||
|
group => 'rubygems',
|
||
|
require => User['rubygems'],
|
||
|
}
|
||
|
}
|