133 lines
3.3 KiB
Markdown
133 lines
3.3 KiB
Markdown
# Puppet module: yum
|
|
|
|
This is a Puppet module that manages Yum repositories for Centos RedHat and Scientific Linux
|
|
|
|
Made by Alessandro Franceschi / Lab42
|
|
|
|
Inspired by the Yum Immerda module: https://git.puppet.immerda.ch
|
|
|
|
Official site: http://www.example42.com
|
|
|
|
Official git repository: http://github.com/example42/puppet-yum
|
|
|
|
Released under the terms of Apache 2 License.
|
|
|
|
This module requires functions provided by the Example42 Puppi module.
|
|
|
|
## USAGE
|
|
|
|
* Just leave the default options: Automatic detection of Operating System (RedHat, Centos, Scientific supported) Epel repo installation, keeping of local yum files, automatic updates disabled.
|
|
|
|
class { 'yum':
|
|
}
|
|
|
|
* Enable automatic updates via cron (updatesd is supported only on 5)
|
|
|
|
class { 'yum':
|
|
update => 'cron',
|
|
}
|
|
|
|
|
|
* Purge local /etc/yum.repos.d/ and enforce its contents only via a custom source
|
|
|
|
class { 'yum':
|
|
source_repo_dir => 'puppet:///modules/example42/yum/conf/',
|
|
clean_repos => true,
|
|
}
|
|
|
|
* Enable EPEL and PuppetLabs repos
|
|
|
|
class { 'yum':
|
|
extrarepo => [ 'epel' , 'puppetlabs' ],
|
|
}
|
|
|
|
|
|
* Do not include any extra repo (By default EPEL is added)
|
|
|
|
class { 'yum':
|
|
extrarepo => '' ,
|
|
}
|
|
|
|
* Automatically copy in /etc/pki/rpm-gpg all the rpm-gpg keys known by the yum module (this was the "old" and intrusive behaviour, now each rpm-gpg key may be individually provided by the yum::manages_repos' gpgkey_source parameter)
|
|
|
|
class { 'yum':
|
|
install_all_keys => true ,
|
|
}
|
|
|
|
* Include a selected extra repo
|
|
|
|
include yum::repo::puppetlabs
|
|
|
|
|
|
## USAGE - Overrides and Customizations
|
|
* Enable auditing without without making changes on existing yum configuration files
|
|
|
|
class { 'yum':
|
|
audit_only => true
|
|
}
|
|
|
|
|
|
* Use custom sources for main config file
|
|
|
|
class { 'yum':
|
|
source => [ "puppet:///modules/lab42/yum/yum.conf-${hostname}" , "puppet:///modules/lab42/yum/yum.conf" ],
|
|
}
|
|
|
|
|
|
* Use custom source directory for the whole configuration dir
|
|
|
|
class { 'yum':
|
|
source_dir => 'puppet:///modules/lab42/yum/conf/',
|
|
source_dir_purge => false, # Set to true to purge any existing file not present in $source_dir
|
|
}
|
|
|
|
* Use custom template for main config file. Note that template and source arguments are alternative.
|
|
|
|
class { 'yum':
|
|
template => 'example42/yum/yum.conf.erb',
|
|
}
|
|
|
|
* Automatically include a custom subclass
|
|
|
|
class { 'yum':
|
|
my_class => 'yum::example42',
|
|
}
|
|
|
|
|
|
## USAGE - Example42 extensions management
|
|
* Activate puppi (recommended, but disabled by default)
|
|
|
|
class { 'yum':
|
|
puppi => true,
|
|
}
|
|
|
|
* Activate puppi and use a custom puppi_helper template (to be provided separately with a puppi::helper define ) to customize the output of puppi commands
|
|
|
|
class { 'yum':
|
|
puppi => true,
|
|
puppi_helper => 'myhelper',
|
|
}
|
|
|
|
|
|
## OPERATING SYSTEMS SUPPORT
|
|
|
|
REDHAT 6 - Full
|
|
|
|
REDHAT 5 - Full
|
|
|
|
REDHAT 4 - Partial
|
|
|
|
CENTOS 6 - Full
|
|
|
|
CENTOS 5 - Full
|
|
|
|
CENTOS 4 - Partial
|
|
|
|
SCIENTIFIC 6 - Full
|
|
|
|
SCIENTIFIC 5 - Full
|
|
|
|
AMAZON LINUX 3 (Sigh) - Partial
|
|
|
|
[](https://travis-ci.org/example42/puppet-yum)
|