@@ -10,9 +10,7 @@ ARG WAF_VERSION=v4
1010ARG PACKAGE_REPO=pkgs.nginx.com
1111
1212
13- # ############################################ Base images containing libs for Opentracing and FIPS #############################################
14- FROM ghcr.io/nginx/dependencies/nginx-ot:nginx-1.27.4@sha256:5c2b2b4a7732985295153ec4ebc8764385e1215548d3715f7b679004798b9a18 AS opentracing-lib
15- FROM ghcr.io/nginx/dependencies/nginx-ot:nginx-1.27.4-alpine@sha256:540c7aa2ccfb26a39304324dfb9972c3eeb9734074397e4582b062e1db3b867c AS alpine-opentracing-lib
13+ # ############################################ Base images containing libs for FIPS #############################################
1614FROM ghcr.io/nginx/dependencies/nginx-ubi-ppc64le:nginx-1.27.4@sha256:fff4dde599b89cb22e5cea5d8cfba8c47bcedaa8e6fa549f5fe74a89c733aa2f AS ubi-ppc64le
1715FROM ghcr.io/nginx/alpine-fips:0.2.4-alpine3.19@sha256:2a7f8451110b588b733e4cb8727a48153057b1debac5c78ef8a539ff63712fa1 AS alpine-fips-3.19
1816FROM ghcr.io/nginx/alpine-fips:0.2.4-alpine3.21@sha256:5221dec2e33436f2586c743c7aa3ef4626c0ec54184dc3364d101036d4f4a060 AS alpine-fips-3.21
@@ -23,23 +21,25 @@ FROM golang:1.24-alpine@sha256:7772cb5322baa875edd74705556d08f0eeca7b9c4b5367754
2321# ############################################ Base image for Alpine #############################################
2422FROM nginx:1.27.4-alpine@sha256:4ff102c5d78d254a6f0da062b3cf39eaf07f01eec0927fd21e219d0af8bc0591 AS alpine
2523
26- RUN --mount=type=bind,from=alpine-opentracing-lib,target=/tmp/ot/ \
27- apk add --no-cache libcap libstdc++ \
28- && cp -av /tmp/ot/usr/local/lib/libopentracing.so* /tmp/ot/usr/local/lib/libjaegertracing*so* /tmp/ot/usr/local/lib/libzipkin*so* /tmp/ot/usr/local/lib/libdd*so* /tmp/ot/usr/local/lib/libyaml*so* /usr/local/lib/ \
29- && cp -av /tmp/ot/usr/lib/nginx/modules/ngx_http_opentracing_module.so /usr/lib/nginx/modules/ \
30- && ldconfig /usr/local/lib/
24+ RUN printf "%s%s%s\n " "http://nginx.org/packages/mainline/alpine/v" `egrep -o '^[0-9]+\. [0-9]+' /etc/alpine-release` "/main" >> /etc/apk/repositories \
25+ && apk add --no-cache libcap libstdc++ nginx-module-otel \
26+ && sed -i -e '/nginx.org/d' /etc/apk/repositories
3127
3228
3329# ############################################ Base image for Debian #############################################
3430FROM nginx:1.27.4@sha256:124b44bfc9ccd1f3cedf4b592d4d1e8bddb78b51ec2ed5056c52d3692baebc19 AS debian
3531
36- RUN --mount=type=bind,from=opentracing-lib,target=/tmp/ot/ \
37- apt-get update \
38- && apt-get install --no-install-recommends --no-install-suggests -y libcap2-bin \
39- && cp -av /tmp/ot/usr/local/lib/libopentracing.so* /tmp/ot/usr/local/lib/libjaegertracing*so* /tmp/ot/usr/local/lib/libzipkin*so* /tmp/ot/usr/local/lib/libdd*so* /tmp/ot/usr/local/lib/libyaml*so* /usr/local/lib/ \
40- && cp -av /tmp/ot/usr/lib/nginx/modules/ngx_http_opentracing_module.so /usr/lib/nginx/modules/ \
41- && ldconfig
42-
32+ RUN apt-get update \
33+ && apt-get install --no-install-recommends --no-install-suggests -y \
34+ libcap2-bin curl gnupg2 ca-certificates lsb-release debian-archive-keyring \
35+ && curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor > /usr/share/keyrings/nginx-archive-keyring.gpg \
36+ && echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
37+ http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" > /etc/apt/sources.list.d/nginx.list \
38+ && printf "%s" "Package: *\n Pin: origin nginx.org\n Pin: release o=nginx\n Pin-Priority: 900\n " > /etc/apt/preferences.d/99nginx \
39+ && apt-get update \
40+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-module-otel \
41+ && apt-get purge --auto-remove -y gnupg2 lsb-release curl \
42+ && rm -rf /var/lib/apt/lists/* /etc/apt/preferences.d/99nginx /etc/apt/sources.list.d/nginx.list
4343
4444# ############################################ NGINX files #############################################
4545FROM scratch AS nginx-files
@@ -119,7 +119,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/apk/cert.pem,mode=0644 \
119119 --mount=type=bind,from=nginx-files,src=tracking.info,target=/tmp/nginx/reporting/tracking.info \
120120 export $(cat /tmp/user_agent) \
121121 && printf "%s\n " "https://${PACKAGE_REPO}/plus/${NGINX_PLUS_VERSION}/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
122- && apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check libcap libcurl \
122+ && apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check libcap libcurl \
123123 && mkdir -p /etc/nginx/reporting/ && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
124124 && ldconfig /usr/local/lib/ \
125125 && sed -i -e '/nginx.com/d' /etc/apk/repositories
@@ -161,7 +161,7 @@ RUN --mount=type=bind,from=alpine-fips-3.19,target=/tmp/fips/ \
161161 && printf "%s\n " "https://${PACKAGE_REPO}/app-protect/${NGINX_PLUS_VERSION}/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
162162 && printf "%s\n " "https://pkgs.nginx.com/app-protect-security-updates/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
163163 && printf "%s\n " "https://${PACKAGE_REPO}/nginx-agent/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
164- && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
164+ && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
165165 && if [ "${NGINX_AGENT}" = "true" ]; then apk add --no-cache nginx-agent; fi \
166166 && mkdir -p /usr/ssl \
167167 && cp -av /tmp/fips/usr/lib/ossl-modules/fips.so /usr/lib/ossl-modules/fips.so \
@@ -197,7 +197,7 @@ RUN --mount=type=bind,from=alpine-fips-3.19,target=/tmp/fips/ \
197197 printf "%s\n " "https://${PACKAGE_REPO}/plus/${NGINX_PLUS_VERSION}/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
198198 && printf "%s\n " "https://${PACKAGE_REPO}/app-protect-x-plus/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
199199 && printf "%s\n " "https://${PACKAGE_REPO}/nginx-agent/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
200- && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
200+ && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
201201 && if [ "${NGINX_AGENT}" = "true" ]; then apk add --no-cache nginx-agent; fi \
202202 && mkdir -p /usr/ssl \
203203 && cp -av /tmp/fips/usr/lib/ossl-modules/fips.so /usr/lib/ossl-modules/fips.so \
@@ -236,7 +236,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
236236 && gpg --dearmor -o /usr/share/keyrings/app-protect-archive-keyring.gpg /tmp/app-protect-security-updates.key \
237237 && cp /tmp/nginx-plus.sources /etc/apt/sources.list.d/nginx-plus.sources \
238238 && apt-get update \
239- && apt-get install --no-install-recommends --no-install-suggests -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
239+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
240240 && apt-get purge --auto-remove -y gpg \
241241 && mkdir -p /etc/nginx/reporting/ \
242242 && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
@@ -356,7 +356,7 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
356356 printf "%s\n " "[nginx]" "name=nginx repo" \
357357 "baseurl=https://nginx.org/packages/mainline/centos/9/\$ basearch/" \
358358 "gpgcheck=1" "enabled=1" "module_hotfixes=true" > /etc/yum.repos.d/nginx.repo \
359- && microdnf --nodocs install -y nginx nginx-module-njs nginx-module-image-filter nginx-module-xslt \
359+ && microdnf --nodocs install -y nginx nginx-module-njs nginx-module-otel nginx-module- image-filter nginx-module-xslt \
360360 && rm /etc/yum.repos.d/nginx.repo; \
361361 fi \
362362 && ubi-clean.sh
@@ -378,7 +378,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
378378 --mount=type=bind,from=nginx-files,src=tracking.info,target=/tmp/nginx/reporting/tracking.info \
379379 mkdir -p /etc/nginx/reporting/ && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
380380 && ubi-setup.sh \
381- && microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
381+ && microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
382382 && ubi-clean.sh
383383
384384
@@ -483,7 +483,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
483483 && groupadd --system --gid 101 nginx \
484484 && useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \
485485 && rpm --import /tmp/nginx_signing.key \
486- && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
486+ && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
487487 && if [ "${NGINX_AGENT}" = "true" ]; then dnf --nodocs install -y nginx-agent; fi \
488488 && sed -i 's/\( def in_container():\) /\1\n return False/g' /usr/lib64/python*/*-packages/rhsm/config.py \
489489 && subscription-manager register --org=${RHEL_ORGANIZATION} --activationkey=${RHEL_ACTIVATION_KEY} || true \
@@ -530,7 +530,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
530530 && groupadd --system --gid 101 nginx \
531531 && useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \
532532 && rpm --import /tmp/nginx_signing.key \
533- && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
533+ && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
534534 && if [ "${NGINX_AGENT}" = "true" ]; then dnf --nodocs install -y nginx-agent; fi \
535535 # # end of duplicated code
536536 && sed -i 's/\( def in_container():\) /\1\n return False/g' /usr/lib64/python*/*-packages/rhsm/config.py \
0 commit comments