Uploading Artifacts
Artifact creation follows a two-phase commit model:- Call
CreateArtifactto obtain a pre-signed upload URL and anupload_id. - Upload the artifact data to the signed URL using an HTTP PUT request.
- Call
FinalizeArtifactwith theupload_idto commit the artifact and make it downloadable.
create_new_version_if_exists to create a new version rather than failing.
To download an artifact, use ResolveArtifact which returns a pre-signed download URL valid for 30 minutes.
You can interact with artifacts using the CLI or the
ArtifactsService API.
Fine-grained Access Control
Artifacts are shared with your workspace by default, allowing for frictionless collaboration. Namespace supports fine-grained access controls, allowing you to flexibly restrict or grant image access. Learn more about RBAC support under workspace access controls.Expiration Policy
Artifacts can be associated with an expiration date at creation time. Once expired, the artifact is automatically removed and no longer consumes storage. Artifacts can also be manually expired usingnsc artifact expire.
Integrations
The artifact storage is a versatile building block that you can use to store large data close to your workloads. To interact with artifacts manually, you can simply use the CLI. Namespace maintains a selection of native integrations allowing a seamless adoption of artifacts.GitHub Actions
Namespace maintains API-compatible variants ofactions/upload-artifact and actions/download-artifact.
Simply replace your current uses with namespace-actions/upload-artifact and namespace-actions/download-artifact.