From 75931f2c32f1c0172944382a83da52161c2157f3 Mon Sep 17 00:00:00 2001 From: Leonid Bugaev Date: Mon, 20 Apr 2026 19:50:57 +0300 Subject: [PATCH] fix: make Docker images backward compatible with runAsUser: 1000 - Remove --chown=65532:65532 from COPY for non-FIPS builds - Add chmod -R a+rX so files are world-readable regardless of uid - FIPS/DHI builds pass NONROOT_CHOWN=true for proper nonroot ownership Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/release.yml | 2 ++ ci/Dockerfile.distroless | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c43aa17b1bc..55c0838442b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -242,6 +242,7 @@ jobs: labels: ${{ steps.ci_metadata_fips.outputs.labels }} build-args: | BUILD_PACKAGE_NAME=tyk-gateway-fips + NONROOT_CHOWN=true - name: Docker metadata for fips tag push id: tag_metadata_fips uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5 @@ -275,6 +276,7 @@ jobs: labels: ${{ steps.tag_metadata_fips.outputs.labels }} build-args: | BUILD_PACKAGE_NAME=tyk-gateway-fips + NONROOT_CHOWN=true - name: Docker metadata for std CI id: ci_metadata_std if: ${{ matrix.golang_cross == '1.25-bullseye' }} diff --git a/ci/Dockerfile.distroless b/ci/Dockerfile.distroless index f6d9b2af913..856c4102f5a 100644 --- a/ci/Dockerfile.distroless +++ b/ci/Dockerfile.distroless @@ -10,11 +10,14 @@ ENV DEBIAN_FRONTEND=noninteractive # The _ after the pkg name is to match tyk-gateway strictly and not tyk-gateway-fips (for example) COPY ${BUILD_PACKAGE_NAME}_*${TARGETARCH}.deb / -RUN dpkg -i /${BUILD_PACKAGE_NAME}_*${TARGETARCH}.deb && rm /*.deb +ARG NONROOT_CHOWN=false +RUN dpkg -i /${BUILD_PACKAGE_NAME}_*${TARGETARCH}.deb && rm /*.deb \ + && chmod -R a+rX /opt/tyk-gateway/ \ + && if [ "$NONROOT_CHOWN" = "true" ]; then chown -R 65532:65532 /opt/tyk-gateway/; fi FROM ${BASE_IMAGE} -COPY --chown=65532:65532 --from=deb /opt/tyk-gateway /opt/tyk-gateway +COPY --from=deb /opt/tyk-gateway /opt/tyk-gateway ARG PORTS EXPOSE $PORTS