cookbook 'packagecloud', '= 0.2.1', :supermarket
Installs/Configures packagecloud.io repositories.
cookbook 'packagecloud', '= 0.2.1'
knife supermarket install packagecloud
knife supermarket download packagecloud
This cookbook provides an LWRP for installing https://packagecloud.io repositories.
NOTE: Please see the Changelog below for important changes if upgrading from 0.0.19 to 0.1.0.
Be sure to depend on
metadata.rb so that the packagecloud
resource will be loaded.
For public repos:
packagecloud_repo "computology/packagecloud-cookbook-test-public" do type "deb" end
For private repos, you need to supply a
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
For forcing the os and dist for repository install:
packagecloud_repo 'computology/packagecloud-cookbook-test-public' do type 'rpm' force_os 'rhel' force_dist '6.5' end
Valid options for
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
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
optionsattribute. 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
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.
packagecloud cookbook versions 0.0.19 used an attribute called
default['packagecloud']['hostname'] for caching the local machine's hostname
to avoid regenerating read tokens.
This attribute has been removed as it is confusing and in some edge cases, buggy.
Beginning in 0.1.0, you can use
default['packagecloud']['hostname_override'] to specify a hostname if ohai
is unable to determine the hostname of the node on its own.
This cookbook has no specified dependencies.
This is the Changelog for the packagecloud cookbook
Set metadata_expire option to default of 300 (5 minutes) to match the generated configs produced by the bash and manual install instructions.
Rework GPG paths to support new GPG endpoints for repos with repo-specific GPG keys. Old endpoints/URLs still work, too.
0.2.1 failed this metric
FC041: Execute resource used to run curl or wget commands: /tmp/cook/a437da5c9d341c2f39171cf8/packagecloud/providers/repo.rb:57
0.2.1 failed this metric