2015-07-21 19:45:23 +02:00

65 lines
2.2 KiB
Markdown

# packagecloud cookbook
This cookbook provides an LWRP for installing https://packagecloud.io repositories.
## Usage
Be sure to depend on `packagecloud` in `metadata.rb` so that the packagecloud
resource will be loaded.
For public repos:
```ruby
packagecloud_repo "computology/packagecloud-cookbook-test-public" do
type "deb"
end
```
For private repos, you need to supply a `master_token`:
```ruby
packagecloud_repo "computology/packagecloud-cookbook-test-private" do
type "deb"
master_token "762748f7ae0bfdb086dd539575bdc8cffdca78c6a9af0db9"
end
```
For packagecloud:enterprise users, add `base_url` to your resource:
```
packagecloud_repo "computology/packagecloud-cookbook-test-private" do
base_url "https://packages.example.com"
type "deb"
master_token "762748f7ae0bfdb086dd539575bdc8cffdca78c6a9af0db9"
end
```
Valid options for `type` include `deb`, `rpm`, and `gem`.
## Interactions with other cookbooks
On CentOS 5, the official chef yum cookbook overwrites the file
`/etc/yum.conf` setting some default values. When it does this, the `cachedir`
value is changed from the CentOS5 default to the default value in the
cookbook. The result of this change is that any packagecloud repository
installed *before* a repository installed with the yum cookbook will appear as
though it's gpg keys were not imported.
There are a few potential workarounds for this:
- Pass the "-y" flag to package resource using the `options` attribute. This
should cause yum to import the GPG key automatically if it was not imported
already.
- Move your packagecloud repos so that they are installed last, after any/all
repos installed via the yum cookbook.
- Set the cachedir option in the chef yum cookbook to the system default value
of `/var/cache/yum` using the `yum_globalconfig` resource.
CentOS 6 and 7 are not affected as the default `cachedir` value provided by
the yum chef cookbook is set to the system default, unless you use the
`yum_globalconfig` resource to set a custom cachedir. If you do set a custom
`cachedir`, you should make sure to setup packagecloud repos after that
resource is set so that the GPG keys end up in the right place.
## Credits
Computology, LLC.