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.