The Artifact Store implements the Docker Registry API v2 and accepts standard Docker authentication. You can authenticate using the Mistrive CLI for interactive sessions or service account keys for automation.Documentation Index
Fetch the complete documentation index at: https://docs.mistrive.com/llms.txt
Use this file to discover all available pages before exploring further.
Image path format
Images in the Artifact Store follow this path structure:- registry.example.com — Your Artifact Store hostname
- my-project — Project ID (not display name)
- backend — Repository ID
- api-server — Image name
- v1.2.3 — Tag
Authentication methods
- Mistrive CLI
- Service account key
The Mistrive CLI generates short-lived Docker credentials from your browser session.This command:SHA256: Use this method for local development and interactive workflows where you’re working at a terminal.
- Opens your browser to authenticate (if not already logged in)
- Generates a Docker credential token
- Pipes it to
docker login
Installing the CLI
- macOS (Apple Silicon)
- Linux (AMD64)
2f1d78ff49478c6fc9c95c20b0d4a547d3acde3ba1c41912254cc6a8bd66f137Pushing images
After authenticating, push images using standard Docker commands. Tag your image with the full registry path:You need Editor access to the repository (or inherited from project/organization) to push images.
Pulling images
Pull images using the full registry path:allUsers has Viewer access), no authentication is required.
CI/CD integration examples
GitHub Actions
GitLab CI
MISTRIVE_KEY as a CI/CD variable containing the base64-encoded service account key.
Troubleshooting
”unauthorized: authentication required”
This error indicates either missing credentials or insufficient permissions.- Verify you’ve run
docker loginsuccessfully - Check that your user or service account has at least Viewer access for pulls, Editor for pushes
- Confirm the project and repository IDs in the image path are correct
”denied: access forbidden”
Your credentials are valid but lack permission for the requested operation.- For pushing: ensure Editor or Owner access on the repository
- For pulling: ensure Viewer or higher access on the repository
- Check permission inheritance to understand where access might be blocked
”name unknown: repository not found”
The specified repository doesn’t exist or you don’t have permission to see it.- Verify the project ID and repository ID
- Ensure you have at least Viewer access to the project to see its repositories