Vetrix Docs

Generic Artifact Registry

Vetrix supports storing arbitrary binary artifacts (binaries, archives, firmware images, etc.) under a named package and version.

Base URL

/api/v1/repos/{owner}/{repo}/packages/generic/{name}/{version}/

Authentication

All write operations (upload, delete) require Bearer JWT authentication. The caller must be the repository owner.

Public repositories allow unauthenticated downloads.

Uploading an artifact

curl -X PUT \
  -H "Authorization: Bearer <token>" \
  --data-binary @tool-linux-amd64 \
  https://<vetrix-host>/api/v1/repos/<owner>/<repo>/packages/generic/my-tool/v1.0.0/tool-linux-amd64

Downloading an artifact

curl -O https://<vetrix-host>/api/v1/repos/<owner>/<repo>/packages/generic/my-tool/v1.0.0/tool-linux-amd64

Supported endpoints

Method Path Description
GET .../generic/{name} List versions of a package
GET .../generic/{name}/{version} List files in a version
GET .../generic/{name}/{version}/{filename} Download a file
PUT .../generic/{name}/{version}/{filename} Upload a file
DELETE .../generic/{name}/{version}/{filename} Delete a file

Multiple files per version

Multiple files can be uploaded to the same {name}/{version} path using different {filename} values. All files share the same package version record.

Content addressing

All uploaded files are stored by SHA-256 digest. Uploading identical content twice is a no-op at the storage layer.