build: from: type: docker url: docker://ghcr.io/project-zot/golang:1.23 binds: - ../. -> /zotcopy run: | export GO111MODULE=on export GOPATH='/go' export HOME='/root' export PATH='/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' mkdir -p /go/src/github.com/project-zot cd /go/src/github.com/project-zot git clone /zotcopy zot cd /go/src/github.com/project-zot/zot make COMMIT=${{COMMIT}} clean binary cat > config.json << EOF { "storage":{ "rootDirectory":"/var/lib/registry", "gc": false, "dedupe": false }, "http":{ "address":"0.0.0.0", "port":"5000" }, "log":{ "level":"debug" } } EOF cat config.json mkdir -p /zotcopy/.build/${{REPO_NAME}}/binary mkdir -p /zotcopy/.build/${{REPO_NAME}}/cert mkdir -p /zotcopy/.build/${{REPO_NAME}}/config cp /go/src/github.com/project-zot/zot/bin/zot-linux-amd64 /zotcopy/.build/${{REPO_NAME}}/binary cp /go/src/github.com/project-zot/zot/config.json /zotcopy/.build/${{REPO_NAME}}/config cp /etc/ssl/certs/ca-certificates.crt /zotcopy/.build/${{REPO_NAME}}/cert build_only: true "${{REPO_NAME:zot}}": annotations: org.opencontainers.image.description: "OCI-native container image/artifact registry (purely based on OCI Distribution Specification)" os: ${{OS}} arch: ${{ARCH}} from: type: docker url: docker://gcr.io/distroless/base-debian12:latest-${{ARCH}} overlay_dirs: - source: ../.build/${{REPO_NAME}}/binary dest: /usr/local/bin - source: ../.build/${{REPO_NAME}}/cert dest: /etc/ssl/certs - source: ../.build/${{REPO_NAME}}/config dest: /etc/zot entrypoint: - /usr/bin/zot-linux-amd64 volumes: - /var/lib/registry cmd: - serve - /etc/zot/config.json