Project: ayllu/papyri
License: AGPL-3.0
Description: OCI Compliant Container Registry
Kevin Schoon
more ui features
File | Commit | Size | Mode | Time |
---|---|---|---|---|
.gitignore | finish implementing OCI pull compliance | 17 B | -rw-r--r-- | 1 month ago |
Cargo.lock | more ui features | 40.6 KiB | -rw-r--r-- | 1 month ago |
Cargo.toml | more ui features | 1.4 KiB | -rw-r--r-- | 1 month ago |
LICENSE | finish implementing OCI pull compliance | 33.7 KiB | -rw-r--r-- | 1 month ago |
README.md | refactor address to be owned, add reverse addr parsing | 1.3 KiB | -rw-r--r-- | 1 month ago |
assets | hackup primitive web interface | NaN B | d--------- | 1 month ago |
examples | more ui features | NaN B | d--------- | 1 month ago |
results | update results, rm a few files | NaN B | d--------- | 1 month ago |
scripts | hackup primitive web interface | NaN B | d--------- | 1 month ago |
src | more ui features | NaN B | d--------- | 1 month ago |
templates | more ui features | NaN B | d--------- | 1 month ago |
Papyri
Papyri is a OCI Distribution Spec compliant container registry that is consumable as a Rust library for use with axum. An example server is provided for illistrative purposes and a full-featured standalone container registry might be implemented in the future. This library is intended to be used in Ayllu but may be useful elsewhere.
Note that this code has only been tested for use with Podman.
OCI Distribution Test
The distribution spec contains a compliance test that is package in the form of a container.
Build the container provided here
and then run scripts/conformance_test.sh
. Results are saved in the results/
directory.
Running the Example
First add a new insecure registry to your /etc/containers/registries.conf
.
[[registry]] location = "localhost:8700" insecure = true
Then run the example server:
cargo run --example=server
And finally interact with the dev server:
podman login localhost:8700
podman tag alpine:3 localhost:8700/alpine:3
podman push localhost:8700/alpine:3
podman pull localhost:8700/alpine:3