0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2025-03-25 02:32:57 -05:00
zot - A scale-out production-ready vendor-neutral OCI-native container image/artifact registry (purely based on OCI Distribution Specification)
Find a file
Ramkumar Chinchani a57f085749 compliance: cleanup compliance test code
zot ci/cd tests are too stict, so separate and relax them for compliance
tests.

Location header is set in some cases, but some clarification is needed
in URL construction.

Fix some incorrect compliance tests.
2019-12-23 22:32:52 -08:00
.bazel Fixing all the issues with upgrading to golangci-lint 1.21.0 2019-12-13 00:53:18 -05:00
cmd/zot zot: initial commit 2019-06-21 15:29:19 -07:00
docs docs: commit docs so that zot binary build becomes easier 2019-12-11 14:17:06 -08:00
errors ldap: improve recovery when connection failures 2019-11-18 11:54:11 -08:00
examples auth: add LDAP support 2019-09-20 11:54:49 -07:00
pkg compliance: cleanup compliance test code 2019-12-23 22:32:52 -08:00
test/scripts .gitignore: ignore generated test artifacts 2019-12-13 14:44:10 -08:00
.bazelignore zot: initial commit 2019-06-21 15:29:19 -07:00
.bazelrc zot: initial commit 2019-06-21 15:29:19 -07:00
.gitignore .gitignore: ignore generated test artifacts 2019-12-13 14:44:10 -08:00
.travis.yml CI/CD: code coverage and bazel improvements 2019-06-26 15:01:52 -07:00
BUILD.bazel zot: initial commit 2019-06-21 15:29:19 -07:00
Dockerfile build: support building inside a container 2019-08-14 12:39:38 -07:00
go.mod feat(compliance): Add JSON output option 2019-12-13 14:57:51 -06:00
go.sum feat(compliance): Add JSON output option 2019-12-13 14:57:51 -06:00
LICENSE Initial commit 2019-06-21 14:40:59 -07:00
Makefile .gitignore: ignore generated test artifacts 2019-12-13 14:44:10 -08:00
Makefile.bazel docs: fix Makefile 2019-08-29 10:56:59 -07:00
README.md feat(compliance): Add JSON output option 2019-12-13 14:57:51 -06:00
stacker.yaml build: support building inside a container using stacker 2019-08-14 16:26:49 -07:00
WORKSPACE feat(compliance): Add JSON output option 2019-12-13 14:57:51 -06:00
zot.go zot: initial commit 2019-06-21 15:29:19 -07:00

zot Build Status codecov.io

zot is a vendor-neutral OCI image repository server purely based on OCI Distribution Specification.

  • Conforms to OCI distribution spec APIs
  • Uses OCI storage layout for storage layout
  • TLS support
  • Authentication via TLS mutual authentication and HTTP BASIC (local htpasswd and LDAP)
  • Doesn't require root privileges
  • Swagger based documentation
  • Can run compliance checks against registries
  • Released under Apache 2.0 License
  • go get -u github.com/anuvu/zot/cmd/zot

Presentations

Build and install binary (using host's toolchain)

go get -u github.com/anuvu/zot/cmd/zot

Full CI/CD Build

  • Build inside a container (preferred)
make binary-container
  • Alternatively, build inside a container using stacker (preferred)
make binary-stacker
  • Build using host's toolchain
make

Build artifacts are in bin/

Serving

bin/zot serve _config-file_

Examples of config files are available in examples/ dir.

Compliance checks

bin/zot compliance -H hostIP -P port [-V "all"] [--json]

Ecosystem

skopeo

skopeo is a tool to work with remote image repositories.

We have a patched version available that works with zot.

git clone https://github.com/anuvu/skopeo

cd skopeo

make GO111MODULE=on binary-local

cri-o

cri-o is a OCI-based Kubernetes container runtime interface.

We have a patched version of containers/image available that works with zot which must be linked with cri-o.

git clone https://github.com/cri-o/cri-o

cd cri-o

echo 'replace github.com/containers/image => github.com/anuvu/image v1.5.2-0.20190827234748-f71edca6153a' >> go.mod

make bin/crio crio.conf GO111MODULE=on

Caveats

  • go 1.12+
  • The OCI distribution spec is still WIP, and we try to keep up