Files
ITWorx_MCP_Hub-Public/infrastructure/images/security-bases/postgres/Dockerfile
T

43 lines
3.4 KiB
Docker

FROM docker.io/library/golang:1.26.8-bookworm@sha256:abe4f87f354c4f6d7ee3fb11b241c6b6c24a32ca50a2ebcc30493a2168e14048 AS gosu-build
ARG SOURCE_DATE_EPOCH
ARG GOSU_MODULE=github.com/tianon/gosu
ARG GOSU_MODULE_VERSION=v0.0.0-20250923190938-6456aaa0f3c8
ARG GOSU_MODULE_SUM=h1:HIpXk5mGBQGfOqcaBbRT4Vnss8NPICnMGlD5xTlPBdQ=
ARG GOSU_GOMOD_SUM=h1:SwhRwWsO6iqXZN9CpIaU9CnOrUqpWDINW16KaaSqnrU=
ARG GOSU_SOURCE_COMMIT=6456aaa0f3c854d199d0f037f068eb97515b7513
ENV CGO_ENABLED=0 GOTOOLCHAIN=local GOOS=linux GOARCH=amd64 GOBIN=/out/bin GOPROXY=https://proxy.golang.org GOSUMDB=sum.golang.org
COPY go-toolchain.tar.gz gosu-source.tar.gz verify-gosu-metadata.sh /tmp/
RUN set -eux; \
printf '%s %s\n' 42d158b4d8f7b61ac0a830567c940a86098fb7aac52e467a5ebec03ef5cc2f8d /tmp/go-toolchain.tar.gz | sha256sum -c -; \
printf '%s %s\n' 33d7537d588ea49458b9509bcf4554bdf5ceacc66da71e5caa1058ea3b689c3b /tmp/gosu-source.tar.gz | sha256sum -c -; \
rm -rf /usr/local/go; tar -C /usr/local -xzf /tmp/go-toolchain.tar.gz; \
test "$(go version)" = 'go version go1.26.9 linux/amd64'; \
chmod 0555 /tmp/verify-gosu-metadata.sh; \
module_info="$(go mod download -json "${GOSU_MODULE}@${GOSU_MODULE_VERSION}")"; \
module_dir="$(go env GOMODCACHE)/${GOSU_MODULE}@${GOSU_MODULE_VERSION}"; \
printf '%s\n' "$module_info" | /tmp/verify-gosu-metadata.sh json-field Path "$GOSU_MODULE"; \
printf '%s\n' "$module_info" | /tmp/verify-gosu-metadata.sh json-field Version "$GOSU_MODULE_VERSION"; \
printf '%s\n' "$module_info" | /tmp/verify-gosu-metadata.sh json-field Dir "$module_dir"; \
printf '%s\n' "$module_info" | /tmp/verify-gosu-metadata.sh json-field Sum "$GOSU_MODULE_SUM"; \
printf '%s\n' "$module_info" | /tmp/verify-gosu-metadata.sh json-field GoModSum "$GOSU_GOMOD_SUM"; \
printf '%s\n' "$module_info" | /tmp/verify-gosu-metadata.sh json-field Hash "$GOSU_SOURCE_COMMIT"; \
printf '%s\n' "$module_info" | /tmp/verify-gosu-metadata.sh json-field VCS git; \
printf '%s\n' "$module_info" | /tmp/verify-gosu-metadata.sh json-field URL https://github.com/tianon/gosu; \
(cd "$module_dir" && go test -mod=readonly ./...); \
go install -trimpath -buildvcs=false "${GOSU_MODULE}@${GOSU_MODULE_VERSION}"; \
go version -m /out/bin/gosu > /tmp/gosu-build-info.txt; \
test "$(head -n 1 /tmp/gosu-build-info.txt)" = '/out/bin/gosu: go1.26.9'; \
/tmp/verify-gosu-metadata.sh module-row "$GOSU_MODULE" "$GOSU_MODULE_VERSION" "$GOSU_MODULE_SUM" < /tmp/gosu-build-info.txt; \
mkdir -p /out/licenses; \
install -m 0644 "$module_dir/LICENSE" /out/licenses/gosu-LICENSE; \
install -m 0644 "$(go env GOMODCACHE)/github.com/moby/sys/user@v0.1.0/LICENSE" /out/licenses/moby-sys-user-LICENSE; \
install -m 0644 "$(go env GOMODCACHE)/golang.org/x/sys@v0.1.0/LICENSE" /out/licenses/golang-x-sys-LICENSE; \
install -m 0644 /usr/local/go/LICENSE /out/licenses/go-toolchain-LICENSE; \
install -m 0644 /usr/local/go/PATENTS /out/licenses/go-toolchain-PATENTS
FROM gitea.example.com/jens/itworx-mcp-hub/postgres:wp400-gosu-v2-20261002-a94e0b4d2029@sha256:a60d81e06987671ae903757f1b71cdfbbff4d481b42610e4de2b7dcfa32aad73
LABEL org.itworx.gosu.go.version="go1.26.9" \
org.itworx.gosu.go.archive.sha256="42d158b4d8f7b61ac0a830567c940a86098fb7aac52e467a5ebec03ef5cc2f8d"
COPY --from=gosu-build --chmod=0755 /out/bin/gosu /usr/local/bin/gosu
COPY --from=gosu-build /out/licenses/ /usr/share/doc/gosu/licenses/