Skip to content

Supported Sources

  • GitHub
  • GitLab
  • Forgejo / Codeberg (Codeberg works out of the box; any Forgejo instance can be configured)
  • Homebrew (binaries only, if anything has a dependency, it will not work at this time)
  • Hashicorp (special handling for their releases, pointing to GitHub repos will automatically pass through)
  • Kubernetes (special handling for their releases, pointing to GitHub repos will automatically pass through)
  • Helm (special handling for Helm project releases on GitHub)

Authentication

Distillery supports authentication for GitHub, GitLab, and Forgejo/Codeberg. There are CLI options to pass in a token, but the preferred method is to set the appropriate environment variable using a tool like direnv.

Source Environment variable CLI flag
GitHub DISTILLERY_GITHUB_TOKEN --github-token
GitLab DISTILLERY_GITLAB_TOKEN --gitlab-token
Forgejo / Codeberg DISTILLERY_FORGEJO_TOKEN --forgejo-token

This allows you to bypass any API rate limits that might be in place for unauthenticated requests, but more importantly it allows you to install from private repositories that you have access to!

The same --forgejo-token / DISTILLERY_FORGEJO_TOKEN is used for authentication across all configured Forgejo providers.

Forgejo / Codeberg

Codeberg is supported via the codeberg prefix; no configuration is required.

Any self-hosted Forgejo (or Gitea-compatible) instance can be added as a named provider in your configuration file. The provider name you choose becomes the routing prefix used on the command line.

providers:
  myforgejo:
    provider: forgejo
    base_url: https://git.example.com/api/v1
[providers.myforgejo]
provider = "forgejo"
base_url = "https://git.example.com/api/v1"

Once configured, use the provider name as the prefix:

dist install myforgejo/owner/repo
dist install myforgejo/owner/repo@2.0.0