This repo is the demo of an early version of the uor client for the oras community meeting.
This demo starts an OCI registry (go-containerregistry), pushes a UOR Collection to that registry, pulls subsets of the published content from the registry, and then serves that content (with caddy). Once the website is verified, a different subset of the published content is retrieved and served.
You may need to tweak some ports/commands for your environment. Take a look at the demo push/pull scripts for UOR Client CLI usage.
-
Build the demo environment
docker build -f Containerfile . -t localhost/oras-www:demo
-
Enter the demo
docker run --network=host -it localhost/oras-www:demo bash
-
Make a registry available if needed
./registry -port 5001 &
-
Swap out the dev index.html
cp index.html push/build_local/
-
Publish the Collection
./client-push.sh localhost:5001/oras:v1 --plain-http=true
-
View the Collection Manifest
curl localhost:5001/v2/oras/manifests/v1 | jq
-
Pull the dev Site
./client-pull.sh localhost:5001/oras:v1 demo dev --plain-http=true
-
Switch to browser and verify site has very few features enabled
-
Pull the prod Site
./client-pull.sh localhost:5001/oras:v1 demo prod --plain-http=true
-
Verify prod site in browser
Source for ORAS website and documentation
Link: oras.land
The documentation can be found here.
This site is deployed using Netlify
System requirements:
- Python 3.7+
- Poetry
The website is an Mkdocs-based documentation site, using the Material theme.
First install dependencies:
poetry install
Then run the development server:
poetry run mkdocs serve
The site will be available at http://localhost:8000/
This project has adopted the CNCF Code of Conduct. See CODE_OF_CONDUCT.md for further details.