Crates.io | warg-loader |
lib.rs | warg-loader |
version | 0.0.6 |
source | src |
created_at | 2024-01-26 16:01:26.383578 |
updated_at | 2024-04-04 17:31:41.595519 |
description | Warg package loader |
homepage | |
repository | https://github.com/lann/warg-loader |
max_upload_size | |
id | 1115654 |
size | 143,129 |
A minimal Warg Package Registry interface for read-only consumers.
warg-loader
is intended to be used primarily as a library, but it also
provides a simple CLI interface:
$ warg-loader wasi:preview1-command-adapter
Package: wasi:preview1-command-adapter
Versions:
0.2.0
$ warg-loader wasi:preview-command-adapter fetch 0.2.0
Fetching release details for wasi:preview1-command-adapter@0.2.0...
Downloading content to "wasi-preview1-command-adapter-0.2.0.wasm"...
The e2e tests require:
The oras
CLI tool to be available in
your local PATH
An OCI Distribution Spec-compliant
registry to be running at localhost:5000
. An ephemeral registry can be run with:
$ docker run --rm -p 5000:5000 distribution/distribution:edge
The e2e tests themselves are in the separate tests/e2e
crate:
$ cd tests/e2e
$ cargo run
Until publisher tooling is developed, the oras
CLI tool can be used to publish packages:
Note: The details of this process (like MIME type) are still being worked on.
$ oras push \
"${OCI_REGISTRY}/${WARG_NAMESPACE}/${PACKAGE_MAME}:${SEMVER}" \
"${WASM_FILE}:application/wasm"
# e.g. to push `component.wasm` as "my-namespace:my-pkg@1.0.0" to `localhost:5000`:
$ oras push \
localhost:5000/my-namespace/my-pkg:1.0.0 \
component.wasm:application/wasm
Note: Some registry implementations may require
--image-spec v1.0
for compatibility with this example.