mirror of
https://github.com/project-zot/zot.git
synced 2026-06-15 20:07:55 +08:00
3a211889daaa2a17e3ccb9d30446f8167bc65141
go get -u <package> does an update of the go.mod and go.sum files; go install <package> installs the binary at that location. It seems the intent of this line in the makefile is to install swag if it doesn't exist based on the ||, so let's actually install it, instead of just updating the local deps. This also has the advantage of not immediately generating a diff when someone doesn't have swag installed. Signed-off-by: Tycho Andersen <tycho@tycho.ws>
zot

zot is a single-purpose OCI image repository server based on the OCI distribution spec.
- Conforms to OCI distribution spec APIs
- Uses OCI storage layout for storage layout
- TLS support
- Basic and TLS mutual authentication
- Swagger based documentation
- Doesn't require root privileges
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/
Running
bin/zot serve config-file
Examples of config files are available in examples/ dir.
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
Description
Languages
Go
93.6%
Shell
5.8%
Makefile
0.4%