build:
  from:
    type: docker
    url: docker://ghcr.io/project-zot/golang:1.18
  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}} OS=${{OS}} ARCH=${{ARCH}} clean exporter-minimal

    cat > config.json << EOF
    {
      "Server":{
          "protocol":"http",
          "host": "127.0.0.1",
          "port": "5000"
      },
      "Exporter":{
          "port":"5001",
          "log":{
            "level":"debug"
          }
      }
    }
    EOF

    cat config.json

    mkdir -p /zotcopy/build/binary
    mkdir -p /zotcopy/build/config
    cp /go/src/github.com/project-zot/zot/bin/zxp-${{OS}}-${{ARCH}} /zotcopy/build/binary
    cp /go/src/github.com/project-zot/zot/config.json /zotcopy/build/config
  build_only: true

"${{REPO_NAME:zxp}}":
  from:
    type: docker
    url: docker://gcr.io/distroless/base
  overlay_dirs:
    - source: ./build/binary
      dest: /usr/local/bin
    - source: ./build/config
      dest: /etc/zxp
  entrypoint:
    - /usr/local/bin/zxp-${{OS}}-${{ARCH}}
  cmd:
    - config
    - /etc/zxp/config.json