forgejo/docs/content/doc/packages/chef.en-us.md
Lunny Xiao e8433b7fe6
Restructure documentation. Now the documentation has installation, administration, usage, development, contributing the 5 main parts (#23629)
- **Installation**: includes how to install Gitea and related other
tools, also includes upgrade Gitea
- **Administration**: includes how to configure Gitea, customize Gitea
and manage Gitea instance out of Gitea admin UI
- **Usage**: includes how to use Gitea's functionalities. A sub
documentation is about packages, in future we could also include CI/CD
and others.
- **Development**: includes how to integrate with Gitea's API, how to
develop new features within Gitea
- **Contributing**: includes how to contribute code to Gitea
repositories.

After this is merged, I think we can have a sub-documentation of `Usage`
part named `Actions` to describe how to use Gitea actions

---------

Co-authored-by: John Olheiser <john.olheiser@gmail.com>
2023-03-23 23:18:24 +08:00

2.5 KiB

date title slug draft toc menu
2023-01-20T00:00:00+00:00 Chef Packages Repository usage/packages/chef false false
sidebar
parent name weight identifier
packages Chef 5 chef

Chef Packages Repository

Publish Chef cookbooks for your user or organization.

Table of Contents

{{< toc >}}

Requirements

To work with the Chef package registry, you have to use knife.

Authentication

The Chef package registry does not use an username:password authentication but signed requests with a private:public key pair. Visit the package owner settings page to create the necessary key pair. Only the public key is stored inside Gitea. if you loose access to the private key you must re-generate the key pair. Configure knife to use the downloaded private key with your Gitea username as client_name.

Configure the package registry

To configure knife to use the Gitea package registry add the url to the ~/.chef/config.rb file.

knife[:supermarket_site] = 'https://gitea.example.com/api/packages/{owner}/chef'
Parameter Description
owner The owner of the package.

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

To install a package from the package registry, execute the following command:

knife supermarket install {package_name}

Optional 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

If you want to remove a package from the registry, execute the following command:

knife supermarket unshare {package_name}

Optional 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.