@@ -21,15 +21,26 @@ FROM golang:1.24-alpine@sha256:7772cb5322baa875edd74705556d08f0eeca7b9c4b5367754
2121# ############################################ Base image for Alpine #############################################
2222FROM nginx:1.27.4-alpine@sha256:4ff102c5d78d254a6f0da062b3cf39eaf07f01eec0927fd21e219d0af8bc0591 AS alpine
2323
24- RUN apk add --no-cache libcap libstdc++
24+ RUN apk add --no-cache libcap libstdc++ \
25+ && 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 \
26+ && apk add --no-cache libcap libstdc++ nginx-module-otel \
27+ && sed -i -e '/nginx.org/d' /etc/apk/repositories
2528
2629
2730# ############################################ Base image for Debian #############################################
2831FROM nginx:1.27.4@sha256:09369da6b10306312cd908661320086bf87fbae1b6b0c49a1f50ba531fef2eab AS debian
2932
3033RUN apt-get update \
31- && apt-get install --no-install-recommends --no-install-suggests -y libcap2-bin
32-
34+ && apt-get install --no-install-recommends --no-install-suggests -y \
35+ libcap2-bin curl gnupg2 ca-certificates lsb-release debian-archive-keyring \
36+ && curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor > /usr/share/keyrings/nginx-archive-keyring.gpg \
37+ && echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
38+ http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" > /etc/apt/sources.list.d/nginx.list \
39+ && printf "%s" "Package: *\n Pin: origin nginx.org\n Pin: release o=nginx\n Pin-Priority: 900\n " > /etc/apt/preferences.d/99nginx \
40+ && apt-get update \
41+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-module-otel \
42+ && apt-get purge --auto-remove -y gnupg2 lsb-release curl \
43+ && rm -rf /var/lib/apt/lists/* /etc/apt/preferences.d/99nginx /etc/apt/sources.list.d/nginx.list
3344
3445# ############################################ NGINX files #############################################
3546FROM scratch AS nginx-files
@@ -109,7 +120,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/apk/cert.pem,mode=0644 \
109120 --mount=type=bind,from=nginx-files,src=tracking.info,target=/tmp/nginx/reporting/tracking.info \
110121 export $(cat /tmp/user_agent) \
111122 && 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 \
112- && apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check libcap libcurl \
123+ && apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check libcap libcurl \
113124 && mkdir -p /etc/nginx/reporting/ && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
114125 && ldconfig /usr/local/lib/ \
115126 && sed -i -e '/nginx.com/d' /etc/apk/repositories
@@ -151,7 +162,7 @@ RUN --mount=type=bind,from=alpine-fips-3.19,target=/tmp/fips/ \
151162 && 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 \
152163 && 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 \
153164 && printf "%s\n " "https://${PACKAGE_REPO}/nginx-agent/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
154- && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
165+ && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
155166 && if [ "${NGINX_AGENT}" = "true" ]; then apk add --no-cache nginx-agent; fi \
156167 && mkdir -p /usr/ssl \
157168 && cp -av /tmp/fips/usr/lib/ossl-modules/fips.so /usr/lib/ossl-modules/fips.so \
@@ -187,7 +198,7 @@ RUN --mount=type=bind,from=alpine-fips-3.19,target=/tmp/fips/ \
187198 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 \
188199 && 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 \
189200 && printf "%s\n " "https://${PACKAGE_REPO}/nginx-agent/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
190- && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
201+ && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
191202 && if [ "${NGINX_AGENT}" = "true" ]; then apk add --no-cache nginx-agent; fi \
192203 && mkdir -p /usr/ssl \
193204 && cp -av /tmp/fips/usr/lib/ossl-modules/fips.so /usr/lib/ossl-modules/fips.so \
@@ -226,7 +237,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
226237 && gpg --dearmor -o /usr/share/keyrings/app-protect-archive-keyring.gpg /tmp/app-protect-security-updates.key \
227238 && cp /tmp/nginx-plus.sources /etc/apt/sources.list.d/nginx-plus.sources \
228239 && apt-get update \
229- && apt-get install --no-install-recommends --no-install-suggests -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
240+ && 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 \
230241 && apt-get purge --auto-remove -y gpg \
231242 && mkdir -p /etc/nginx/reporting/ \
232243 && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
@@ -346,7 +357,7 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
346357 printf "%s\n " "[nginx]" "name=nginx repo" \
347358 "baseurl=https://nginx.org/packages/mainline/centos/9/\$ basearch/" \
348359 "gpgcheck=1" "enabled=1" "module_hotfixes=true" > /etc/yum.repos.d/nginx.repo \
349- && microdnf --nodocs install -y nginx nginx-module-njs nginx-module-image-filter nginx-module-xslt \
360+ && microdnf --nodocs install -y nginx nginx-module-njs nginx-module-otel nginx-module- image-filter nginx-module-xslt \
350361 && rm /etc/yum.repos.d/nginx.repo; \
351362 fi \
352363 && ubi-clean.sh
@@ -368,7 +379,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
368379 --mount=type=bind,from=nginx-files,src=tracking.info,target=/tmp/nginx/reporting/tracking.info \
369380 mkdir -p /etc/nginx/reporting/ && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
370381 && ubi-setup.sh \
371- && microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
382+ && microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
372383 && ubi-clean.sh
373384
374385
@@ -473,7 +484,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
473484 && groupadd --system --gid 101 nginx \
474485 && useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \
475486 && rpm --import /tmp/nginx_signing.key \
476- && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
487+ && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
477488 && if [ "${NGINX_AGENT}" = "true" ]; then dnf --nodocs install -y nginx-agent; fi \
478489 && sed -i 's/\( def in_container():\) /\1\n return False/g' /usr/lib64/python*/*-packages/rhsm/config.py \
479490 && subscription-manager register --org=${RHEL_ORGANIZATION} --activationkey=${RHEL_ACTIVATION_KEY} || true \
@@ -520,7 +531,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
520531 && groupadd --system --gid 101 nginx \
521532 && useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \
522533 && rpm --import /tmp/nginx_signing.key \
523- && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \
534+ && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module- fips-check \
524535 && if [ "${NGINX_AGENT}" = "true" ]; then dnf --nodocs install -y nginx-agent; fi \
525536 # # end of duplicated code
526537 && sed -i 's/\( def in_container():\) /\1\n return False/g' /usr/lib64/python*/*-packages/rhsm/config.py \
0 commit comments