cookbook 'yum-ius', '= 3.2.1'
yum-ius
(26) Versions
3.2.1
-
Follow10
Installs and configures the IUS Community Project Yum Repository
cookbook 'yum-ius', '= 3.2.1', :supermarket
knife supermarket install yum-ius
knife supermarket download yum-ius
yum-ius Cookbook
The yum-ius cookbook takes over management of the default repositoryids that ship with CentOS systems. It allows attribute manipulation of ius
, ius-debuginfo
, ius-source
, ius-archive
, ius-archive-debuginfo
, ius-archive-source
, ius-testing
, ius-testing-debuginfo
, ius-testing-source
Requirements
Platforms
- RHEL/CentOS and derivatives
Chef
- Chef 12.14+
Cookbooks
- yum-epel
Attributes
The following attributes are set by default
default['yum']['ius']['repositoryid'] = 'ius' default['yum']['ius']['enabled'] = true default['yum']['ius']['managed'] = true default['yum']['ius']['failovermethod'] = 'priority' default['yum']['ius']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius']['gpgcheck'] = true default['yum']['ius']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch" default['yum']['ius']['baseurl'] = "https://repo.ius.io/#{node['platform_version'].to_i}/$basearch"
default['yum']['ius-debuginfo']['repositoryid'] = 'ius-debuginfo' default['yum']['ius-debuginfo']['enabled'] = false default['yum']['ius-debuginfo']['managed'] = false default['yum']['ius-debuginfo']['failovermethod'] = 'priority' default['yum']['ius-debuginfo']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius-debuginfo']['gpgcheck'] = true default['yum']['ius-debuginfo']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch Debug" default['yum']['ius-debuginfo']['baseurl'] = "https://repo.ius.io/#{node['platform_version'].to_i}/$basearch/debug"
default['yum']['ius-source']['repositoryid'] = 'ius-source' default['yum']['ius-source']['enabled'] = false default['yum']['ius-source']['managed'] = false default['yum']['ius-source']['failovermethod'] = 'priority' default['yum']['ius-source']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius-source']['gpgcheck'] = true default['yum']['ius-source']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch Source" default['yum']['ius-source']['baseurl'] = "https://repo.ius.io/#{node['platform_version'].to_i}/src"
default['yum']['ius-archive']['repositoryid'] = 'ius-archive' default['yum']['ius-archive']['enabled'] = false default['yum']['ius-archive']['managed'] = false default['yum']['ius-archive']['failovermethod'] = 'priority' default['yum']['ius-archive']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius-archive']['gpgcheck'] = true default['yum']['ius-archive']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch Archive" default['yum']['ius-archive']['baseurl'] = "https://repo.ius.io/archive/#{node['platform_version'].to_i}/$basearch"
default['yum']['ius-archive-debuginfo']['repositoryid'] = 'ius-archive-debuginfo' default['yum']['ius-archive-debuginfo']['enabled'] = false default['yum']['ius-archive-debuginfo']['managed'] = false default['yum']['ius-archive-debuginfo']['failovermethod'] = 'priority' default['yum']['ius-archive-debuginfo']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius-archive-debuginfo']['gpgcheck'] = true default['yum']['ius-archive-debuginfo']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch Archive Debug" default['yum']['ius-archive-debuginfo']['baseurl'] = "https://repo.ius.io/archive/#{node['platform_version'].to_i}/$basearch/debug"
default['yum']['ius-archive-source']['repositoryid'] = 'ius-archive-source' default['yum']['ius-archive-source']['enabled'] = false default['yum']['ius-archive-source']['managed'] = false default['yum']['ius-archive-source']['failovermethod'] = 'priority' default['yum']['ius-archive-source']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius-archive-source']['gpgcheck'] = true default['yum']['ius-archive-source']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch Archive Source" default['yum']['ius-archive-source']['baseurl'] = "https://repo.ius.io/archive/#{node['platform_version'].to_i}/src"
default['yum']['ius-testing']['repositoryid'] = 'ius-testing' default['yum']['ius-testing']['enabled'] = false default['yum']['ius-testing']['managed'] = false default['yum']['ius-testing']['failovermethod'] = 'priority' default['yum']['ius-testing']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius-testing']['gpgcheck'] = true default['yum']['ius-testing']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch Testing" default['yum']['ius-testing']['baseurl'] = "https://repo.ius.io/testing/#{node['platform_version'].to_i}/$basearch"
default['yum']['ius-testing-debuginfo']['repositoryid'] = 'ius-testing-debuginfo' default['yum']['ius-testing-debuginfo']['enabled'] = false default['yum']['ius-testing-debuginfo']['managed'] = false default['yum']['ius-testing-debuginfo']['failovermethod'] = 'priority' default['yum']['ius-testing-debuginfo']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius-testing-debuginfo']['gpgcheck'] = true default['yum']['ius-testing-debuginfo']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch Testing Debug" default['yum']['ius-testing-debuginfo']['baseurl'] = "https://repo.ius.io/testing/#{node['platform_version'].to_i}/$basearch/debug"
default['yum']['ius-testing-source']['repositoryid'] = 'ius-testing-source' default['yum']['ius-testing-source']['enabled'] = false default['yum']['ius-testing-source']['managed'] = false default['yum']['ius-testing-source']['failovermethod'] = 'priority' default['yum']['ius-testing-source']['gpgkey'] = "https://repo.ius.io/RPM-GPG-KEY-IUS-#{node['platform_version'].to_i}" default['yum']['ius-testing-source']['gpgcheck'] = true default['yum']['ius-testing-source']['description'] = "IUS Community Packages for Enterprise Linux #{node['platform_version'].to_i} - $basearch Testing Source" default['yum']['ius-testing-source']['baseurl'] = "https://repo.ius.io/testing/#{node['platform_version'].to_i}/src"
Recipes
- default - Walks through node attributes and feeds a
yum_resource
parameters. The following is an example a resource generated by the recipe during compilation.
yum_repository 'ius' do baseurl 'https://repo.ius.io/7/$basearch' description 'IUS Community Packages for Enterprise Linux 7 - $basearch' enabled true gpgcheck true gpgkey 'https://repo.ius.io/RPM-GPG-KEY-IUS-7' end
Usage Example
To disable the ius
repository through a Role or Environment definition
default_attributes( :yum => { :ius => { :enabled => { false } } } )
Uncommonly used repositoryids are not managed by default. This is speeds up integration testing pipelines by avoiding yum-cache builds that nobody cares about. To enable the ius-testing
repository with a wrapper cookbook, place the following in a recipe:
node.default['yum']['ius-tesing']['managed'] = true node.default['yum']['ius-tesing']['enabled'] = true include_recipe 'yum-ius'
More Examples
Point the base and debuginfo repositories at an internally hosted server.
node.default['yum']['ius']['enabled'] = true node.default['yum']['ius']['mirrorlist'] = nil node.default['yum']['ius']['baseurl'] = 'https://internal.example.com/centos/6/os/x86_64' node.default['yum']['ius']['sslverify'] = false node.default['yum']['ius-debuginfo']['enabled'] = true node.default['yum']['ius-debuginfo']['mirrorlist'] = nil node.default['yum']['ius-debuginfo']['baseurl'] = 'https://internal.example.com/centos/6/updates/x86_64' node.default['yum']['ius-debuginfo']['sslverify'] = false include_recipe 'yum-ius'
Contributors
This project exists thanks to all the people who contribute.
Backers
Thank you to all our backers!
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
yum-ius Cookbook CHANGELOG
This file is used to list changes made in each version of the yum-ius cookbook.
3.2.1 - 2021-06-01
3.2.0 - 2021-03-03
- Sous Chefs adoption
- Various style fixes
3.1.0 (2019-10-17)
- Updated all the repos to use the new IUS CDN system. This greatly simplifies our attribute setup and makes sure this cookbook continues to work with the latest mirror setup.
- @gsdevme
- Resolve Cookstyle 5.8 warnings - @tas50
- Remove references to CentOS 5 - @ramereth
- Removed the various dev repos which don't seem to exist anymore - @ramereth
- Fix all other active upstream repos with new baseurl for CDN - @ramereth
3.0.0 (2018-02-16)
- Require Chef 12.14+ and remove the compat_resource dep
2.2.0 (3.2.0 - 2021-03-03)
- Remove use of releasever to eliminate centos-release dependency.
- Add warning for use of EL 5 variants as IUS is ending support as of March 31, 2017 following the RHEL EOL of RHEL 5.
- Update chefspecs to avoid deprecation warnings
2.1.0 (2016-12-22)
- Allow the use of any valid property via attributes
- Depend on the latest compat_resource cookbook
- Cookstyle fixes
2.0.0 (2016-11-26)
- Replace yum dependency with compat_resource
- Add inspec integration test
1.0.0 (2016-09-06)
- Testing updates
- Add chef_version metadata
- Remove support for Chef 11
v0.4.6 (2016-04-27)
- Remove support for fedora / amazon from metadata as they are not actually supported
v0.4.5 (2015-11-30)
- Fixed attributes with a false value being skipped
v0.4.4 (2015-10-28)
- Fixing logic bug around managed attribute
v0.4.3 (2015-10-28)
- Fixing Chef 13 nil property deprecation warnings
v0.4.2 (2015-09-21)
- Added Chef standard Rubocop file and resolved all warnings
- Updated platforms in Kitchen CI config
- Add supported platforms to the metadata
- Added Chef standard chefignore and .gitignore files
- Updated and expanded development dependencies in the Gemfile
- Added contributing, testing, and maintainers docs
- Added platform requirements to the readme
- Added Travis and cookbook version badges to the readme
- Update Chefspec to 4.X format
- Convert all hash rockets to the Ruby 1.9+ hash format
v0.4.1 (2015-06-21)
- Updating URLs for https and new mirrorlists
- Depending on yum ~> 3.2
v0.4.0 (2014-10-29)
- Accounting for differences between RHEL and Centos
- Adding EL7 Support
v0.3.0 (2014-09-11)
- Add the yum-epel::default recipe if at least one yum-ius repository managed
v0.2.0 (2014-02-14)
- Updating test harness
- Disabling uncommonly used repositories by default
v0.1.4
- Adding CHANGELOG.md
v0.1.0
- initial release
Collaborator Number Metric
3.2.1 passed this metric
Contributing File Metric
3.2.1 passed this metric
Foodcritic Metric
3.2.1 passed this metric
No Binaries Metric
3.2.1 passed this metric
Testing File Metric
3.2.1 passed this metric
Version Tag Metric
3.2.1 passed this metric
3.2.1 passed this metric
3.2.1 passed this metric
Foodcritic Metric
3.2.1 passed this metric
No Binaries Metric
3.2.1 passed this metric
Testing File Metric
3.2.1 passed this metric
Version Tag Metric
3.2.1 passed this metric
3.2.1 passed this metric
3.2.1 passed this metric
Testing File Metric
3.2.1 passed this metric
Version Tag Metric
3.2.1 passed this metric
3.2.1 passed this metric
3.2.1 passed this metric