Chef Package Registry
Publish Chef cookbooks for your user or organization.
Requirements
Section titled “Requirements”To work with the Chef package registry, the tool knife can be used.
Authentication
Section titled “Authentication”The Chef package registry does not use authentication via username and password but signed requests with a pair of private and public keys.
Visit the package owner settings page to create the necessary key pair.
Only the public key is stored inside HoyoShip. If you lose access to the private key you must re-generate the key pair.
Configure knife to use the downloaded private key with your HoyoShip username as client_name.
Configure the package registry
Section titled “Configure the package registry”To configure knife to use the HoyoShip package registry, add this URL to the ~/.chef/config.rb file:
knife[:supermarket_site] = 'https://hoyoship.example.com/api/packages/{owner}/chef'| Parameter | Description |
|---|---|
owner | The owner of the package. |
Publish a package
Section titled “Publish a package”To publish a Chef package execute the following command:
knife supermarket share {package_name}| Parameter | Description |
|---|---|
package_name | The package name. |
You cannot publish a package if a package of the same name and version already exists. You must delete the existing package first.
Install a package
Section titled “Install a package”To install a package from the package registry, execute the following command:
knife supermarket install {package_name}Optionally, you can specify the package version:
knife supermarket install {package_name} {package_version}| Parameter | Description |
|---|---|
package_name | The package name. |
package_version | The package version. |
Delete a package
Section titled “Delete a package”If you want to remove a package from the registry, execute the following command:
knife supermarket unshare {package_name}Optionally, you can specify the package version:
knife supermarket unshare {package_name}/versions/{package_version}| Parameter | Description |
|---|---|
package_name | The package name. |
package_version | The package version. |