Clone OpenRegistry repo
git clone git@github.com:containerish/OpenRegistry.git
Build and run OpenRegistry binary(required Go)
cd OpenRegistry
export $(cat env-vars.example |xargs)
make mod-fix
go build -o OpenRegistry && ./OpenRegistry
In another terminal, clone OCI Distribution Spec v1.0.1
git clone https://github.com/opencontainers/distribution-spec -b v1.0.1
Build conformance binary
cd distribution-spec
make conformance-binary
Set various environment variables
export OCI_ROOT_URL=http://0.0.0.0:5000
export OCI_NAMESPACE=johndoe/dummmy-server
export OCI_CROSSMOUNT_NAMESPACE=johndoe/dummmy-server-cross-mount
export OCI_USERNAME=johndoe
export OCI_PASSWORD=Qwerty@123
export OCI_TEST_PULL=1
export OCI_TEST_PUSH=1
export OCI_TEST_CONTENT_DISCOVERY=1
export OCI_TEST_CONTENT_MANAGEMENT=1
Create an OpenRegistry user since PUSH required authorisation
curl -XPOST -d '{"email":"johndoe@example.com","username":"johndoe","password":"Qwerty@123"}' "http://0.0.0.0:5000/auth/signup"
Run conformance test
output/conformance.test
This should produce the following results
Ran 59 of 62 Specs in 53.443 seconds
SUCCESS! -- 59 Passed | 0 Failed | 0 Pending | 3 Skipped
PASS
more details can be found in the resulting report.html
.