Skip to main content

Worktree Packages

Worktree Packages is an integrated package registry, allowing you to easily publish and host your built software, and distribute it to your users.

  • Currently Supported:
    • OCI (Docker) container images
  • Coming Soon:
    • RedHat (RPM) Packages
    • Debian (deb) Packages
    • Alpine (apk) packages
    • Arch Linux packages
    • Cargo libraries
    • Chef cookbooks
    • Maven repositories
    • NuGet libraries
    • Ruby gems
    • Swift libraries
warning

Currently only public packages are supported. Keep in mind every package you push to Worktree will be publicly accessible, even to anonymous users.

Authorization

All interactions with the Packages endpoints require an access token. You can generate one from your account settings -- ensure it has Read and Write access to Packages when you generate it.

Each package registry type handles auth in slightly different ways; refer to the package-specific instructions in the following sections.

OCI (Docker) Images

By far the most popular feature of Worktree Packages is to host container images. Worktree Packages is an OCI-compliant package registry, allowing you to host any OCI-compliant layers, including Docker/podman/buildah containers and Helm charts.

You can use Packages with or without a repo; all packages are scoped to your user account.

We'll be using the Docker CLI for our examples, but any OCI-compliant tooling should work just as well.

First, log into the registry:

$ docker login worktree.ca

Then, tag your image with worktree.ca/<username> as a prefix. For example,

$ docker tag abc1234:latest worktree.ca/contoso/myimage:latest

Once tagged, you can push the image to Worktree Packages:

$ docker push worktree.ca/contoso/myimage:latest

The package will now be published on your Worktree user or organization under the "Packages" tab.