mirror of
https://github.com/project-zot/zot.git
synced 2024-12-16 21:56:37 -05:00
zot - A scale-out production-ready vendor-neutral OCI-native container image/artifact registry (purely based on OCI Distribution Specification)
7779188a9c
1) github.com/jtblin/go-ldap-client is an abandoned project and not keeping up with go modules, so pull that code in (single file, BSD license) 2) minor refactor ldap as a result of 1) 3) update go.mod |
||
---|---|---|
.bazel | ||
cmd/zot | ||
docs | ||
errors | ||
examples | ||
pkg | ||
test/data | ||
.bazelignore | ||
.bazelrc | ||
.gitignore | ||
.travis.yml | ||
BUILD.bazel | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
Makefile.bazel | ||
README.md | ||
stacker.yaml | ||
WORKSPACE | ||
zot.go |
zot
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
Presentations
Building
- 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"]
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