This cookbook will install all tools to create a local mirror of a yum repository.
Tested on CentOS 6.6 with repositories for CentOS 6 and 7.
yum
- yum-mirror needs yum to add repositories
Key | Type | Description | Default |
---|---|---|---|
['yum-mirror']['repopath'] | String | where to store the downloaded mirror data | '/var/local/mirror' |
['yum-mirror']['mirrors'] | Array | which mirrors to use from data bags |
Include yum-mirror
in your node's run_list
:
{
"name":"my_node",
"run_list": [
"recipe[yum-mirror]"
]
}
If you want to sync mirrors, you also need to create databags with at least one repository for each release version and put them in the array node['yum-mirror']['mirrors'] matching the id of the data bag.
The default recipe doesn't need data bags to work, but won't do any mirror syncing. All mirrors are defined in data bags that have to look like the following:
{
"id": "centos6",
"mirrorlists": {
"base": "http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os",
"extras": "http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=extras",
"updates": "http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=updates",
"centosplus": "http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=centosplus"
},
"gpg": "http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6"
}
This data bag will add the standard repos for CentOS 6 and the corresponding GPG key. Currently the cookbook only supports mirrorlists and not single base urls.
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
Authors: Julian Tabel j.tabel@bigpoint.net
Copyright:: 2015 Bigpoint GmbH
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.