Vagrant Packages Repository

Publish Vagrant packages for your user or organization.

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://forgejo.example.com/api/packages/{owner}/vagrant/{package_name}/{package_version}/{provider}.box
ParameterDescription
ownerThe owner of the package.
package_nameThe package name.
package_versionThe package version, semver compatible.
providerOne 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://forgejo.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://forgejo.example.com/api/packages/{owner}/vagrant/{package_name}"
ParameterDescription
ownerThe owner of the package.
package_nameThe package name.

For example:

vagrant box add "https://forgejo.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 in the VAGRANT_CLOUD_TOKEN environment variable.

Supported commands

vagrant box add