forgejo-federation/docs/content/doc/packages/vagrant.en-us.md
Lunny Xiao 67103eb2bc
Update docs markdown file weight to make it clear (#23909)
For Docusaurus, it needs a meta data named `sidebar_position`, so we
copy all `weight` under `menu/sidebar` as top meta key.
2023-04-04 21:47:31 +08:00

2.2 KiB

date title slug weight draft toc menu
2022-08-23T00:00:00+00:00 Vagrant Packages Repository usage/packages/vagrant 120 false false
sidebar
parent name weight identifier
packages Vagrant 120 vagrant

Vagrant Packages Repository

Publish Vagrant packages for your user or organization.

Table of Contents

{{< toc >}}

Requirements

To work with the Vagrant package registry, you need Vagrant and a tool to make HTTP requests like curl.

Publish a package

Publish a Vagrant box by performing a HTTP PUT request to the registry:

PUT https://gitea.example.com/api/packages/{owner}/vagrant/{package_name}/{package_version}/{provider}.box
Parameter Description
owner The owner of the package.
package_name The package name.
package_version The package version, semver compatible.
provider One of the supported provider names.

Example for uploading a Hyper-V box:

curl --user your_username:your_password_or_token \
     --upload-file path/to/your/vagrant.box \
     https://gitea.example.com/api/packages/testuser/vagrant/test_system/1.0.0/hyperv.box

You cannot publish a box if a box of the same name, version and provider already exists. You must delete the existing package first.

Install a package

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

vagrant box add "https://gitea.example.com/api/packages/{owner}/vagrant/{package_name}"
Parameter Description
owner The owner of the package.
package_name The package name.

For example:

vagrant box add "https://gitea.example.com/api/packages/testuser/vagrant/test_system"

This will install the latest version of the package. To add a specific version, use the --box-version parameter. If the registry is private you can pass your [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) in the VAGRANT_CLOUD_TOKEN environment variable.

Supported commands

vagrant box add