| ADD alpine-minirootfs-3.21.5-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| LABEL org.opencontainers.image.authors=community@krakend.io |
| RUN /bin/sh -c set -eux; apk add --no-cache --virtual .run-deps ca-certificates su-exec tzdata; adduser -u 1000 -S -D -H krakend; # buildkit |
| RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps gnupg; arch="$(apk --print-arch)"; case "$arch" in 'x86_64') export GOARCH='amd64' GOOS='linux'; export KRAKEND_DOWNLOAD_SHA512=ce7e2c685499eaae839e249f094635bd7f96f01c70d96e042f2da870a7b6e610b6f0cfb22aac483ab8cddd52b0c21dc67866913e4919755e38fffc01c4176c49; ;; 'aarch64') export GOARCH='arm64' GOOS='linux'; export KRAKEND_DOWNLOAD_SHA512=60a70fb3e85d03ff13bdf828a681531df8d0c948deb1d7d7316179c351624bd68d5996d5bb06ed0529eb631f84c655a676ae649355e4fcdc2386352fdac4f3c8; ;; *) echo >&2 "error: unsupported architecture '$TARGETARCH' (likely packaging update needed)"; exit 1 ;; esac; wget -O krakend.tar.gz "https://github.com/krakendio/krakend-ce/releases/download/v2.12.0/krakend_2.12.0_${GOARCH}_alpine.tar.gz"; wget -O krakend.tar.gz.asc "https://github.com/krakendio/krakend-ce/releases/download/v2.12.0/krakend_2.12.0_${GOARCH}_alpine.tar.gz.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5B270F2E01E375FD9D5635E25DE6FD698AD6FDD2; gpg --batch --verify krakend.tar.gz.asc krakend.tar.gz; gpgconf --kill all; rm -rf "$GNUPGHOME"; echo "$KRAKEND_DOWNLOAD_SHA512 *krakend.tar.gz" | sha512sum -c; tar -xzf krakend.tar.gz -C / --strip-components 1; rm -f krakend.tar.gz krakend.tar.gz.asc; apk del --no-network .build-deps; echo '{ "version": 3 }' > /etc/krakend/krakend.json # buildkit |
| WORKDIR /etc/krakend |
| COPY docker-entrypoint.sh /usr/local/bin/ # buildkit |
| ENTRYPOINT ["docker-entrypoint.sh"] |
| EXPOSE map[8080/tcp:{} 8090/tcp:{}] |
| CMD ["krakend" "run" "-c" "krakend.json"] |
| COPY krakend.json /etc/krakend/krakend.json # buildkit |