2
2
ARG BUILD_OS=debian
3
3
ARG NGINX_OSS_VERSION=1.29
4
4
ARG NGINX_PLUS_VERSION=R35
5
+ ARG NGINX_AGENT_VERSION=3.3
5
6
ARG DOWNLOAD_TAG=edge
6
7
ARG DEBIAN_FRONTEND=noninteractive
7
8
ARG PREBUILT_BASE_IMG=nginx/nginx-ingress:${DOWNLOAD_TAG}
@@ -85,6 +86,7 @@ USER 101
85
86
FROM nginx:1.29.1-alpine3.22@sha256:42a516af16b852e33b7682d5ef8acbd5d13fe08fecadc7ed98605ba5e3b26ab8 AS alpine
86
87
ARG PACKAGE_REPO
87
88
ARG NGINX_OSS_VERSION
89
+ ARG NGINX_AGENT_VERSION
88
90
89
91
RUN --mount=type=bind,from=nginx-files,src=nginx_signing.rsa.pub,target=/etc/apk/keys/nginx_signing.rsa.pub \
90
92
--mount=type=bind,from=nginx-files,src=user_agent,target=/tmp/user_agent \
@@ -93,14 +95,15 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.rsa.pub,target=/etc/apk
93
95
&& export $(cat /tmp/user_agent) \
94
96
&& printf "%s%s%s\n " "http://packages.nginx.org/nginx/mainline/alpine/v" `egrep -o '^[0-9]+\. [0-9]+' /etc/alpine-release` "/main" >> /etc/apk/repositories \
95
97
&& printf "%s%s%s\n " "http://packages.nginx.org/nginx-agent/alpine/v" `egrep -o '^[0-9]+\. [0-9]+' /etc/alpine-release` "/main" >> /etc/apk/repositories \
96
- && apk add --no-cache nginx-module-otel~${NGINX_OSS_VERSION} nginx-agent~3.2 \
98
+ && apk add --no-cache nginx-module-otel~${NGINX_OSS_VERSION} nginx-agent~${NGINX_AGENT_VERSION} \
97
99
&& ldconfig /usr/local/lib/ \
98
100
&& agent.sh \
99
101
&& sed -i -e '/nginx.org/d' /etc/apk/repositories
100
102
101
103
102
104
# ############################################ Base image for Debian #############################################
103
105
FROM nginx:1.29.1@sha256:33e0bbc7ca9ecf108140af6288c7c9d1ecc77548cbfd3952fd8466a75edefe57 AS debian
106
+ ARG NGINX_AGENT_VERSION
104
107
105
108
RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_signing.key \
106
109
--mount=type=bind,from=nginx-files,src=90pkgs-nginx,target=/etc/apt/apt.conf.d/90pkgs-nginx \
@@ -115,7 +118,7 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
115
118
http://packages.nginx.org/nginx-agent/debian `lsb_release -cs` agent" >> /etc/apt/sources.list.d/nginx.list \
116
119
&& printf "%s" "Package: *\n Pin: origin nginx.org\n Pin: release o=nginx\n Pin-Priority: 900\n " > /etc/apt/preferences.d/99nginx \
117
120
&& apt-get update \
118
- && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=3.2. * nginx-module-otel=${NGINX_OSS_VERSION}* \
121
+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=${NGINX_AGENT_VERSION} * nginx-module-otel=${NGINX_OSS_VERSION}* \
119
122
&& apt-get purge --auto-remove -y gpg \
120
123
&& rm -rf /var/lib/apt/lists/* /etc/apt/preferences.d/99nginx /etc/apt/sources.list.d/nginx.list \
121
124
&& agent.sh
@@ -125,6 +128,7 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
125
128
FROM ubi-minimal AS ubi
126
129
ARG IC_VERSION
127
130
ARG NGINX_OSS_VERSION
131
+ ARG NGINX_AGENT_VERSION
128
132
129
133
LABEL name="NGINX Ingress Controller" \
130
134
@@ -158,14 +162,15 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
158
162
&& printf "%s\n " "[agent]" "name=agent repo" \
159
163
"baseurl=https://packages.nginx.org/nginx-agent/centos/9/\$ basearch/" \
160
164
"gpgcheck=1" "enabled=1" "module_hotfixes=true" >> /etc/yum.repos.d/nginx.repo \
161
- && microdnf --nodocs install -y nginx-${NGINX_OSS_VERSION}* nginx-module-njs-${NGINX_OSS_VERSION}* nginx-module-otel-${NGINX_OSS_VERSION}* nginx-module-image-filter-${NGINX_OSS_VERSION}* nginx-module-xslt-${NGINX_OSS_VERSION}* nginx-agent-3.2. * \
165
+ && microdnf --nodocs install -y nginx-${NGINX_OSS_VERSION}* nginx-module-njs-${NGINX_OSS_VERSION}* nginx-module-otel-${NGINX_OSS_VERSION}* nginx-module-image-filter-${NGINX_OSS_VERSION}* nginx-module-xslt-${NGINX_OSS_VERSION}* nginx-agent-${NGINX_AGENT_VERSION} * \
162
166
&& rm /etc/yum.repos.d/nginx.repo \
163
167
&& ubi-clean.sh
164
168
165
169
# ############################################ Base image for Alpine with NGINX Plus ##############################################
166
170
FROM alpine:3.22@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1 AS alpine-plus
167
171
ARG NGINX_PLUS_VERSION
168
172
ARG PACKAGE_REPO
173
+ ARG NGINX_AGENT_VERSION
169
174
170
175
ENV NGINX_VERSION=${NGINX_PLUS_VERSION}
171
176
@@ -178,7 +183,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/apk/cert.pem,mode=0644 \
178
183
export $(cat /tmp/user_agent) \
179
184
&& 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 \
180
185
&& printf "%s\n " "https://${PACKAGE_REPO}/nginx-agent/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
181
- && apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check nginx-agent~3.2 libcap libcurl \
186
+ && apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check nginx-agent~${NGINX_AGENT_VERSION} libcap libcurl \
182
187
&& mkdir -p /etc/nginx/reporting/ && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
183
188
&& agent.sh \
184
189
&& sed -i -e '/nginx.com/d' /etc/apk/repositories
@@ -295,6 +300,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
295
300
# ############################################ Base image for Debian with NGINX Plus #############################################
296
301
FROM debian-plus-only AS debian-plus
297
302
ARG NGINX_PLUS_VERSION
303
+ ARG NGINX_AGENT_VERSION
298
304
299
305
ENV NGINX_VERSION=${NGINX_PLUS_VERSION}
300
306
@@ -307,7 +313,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
307
313
apt-get update \
308
314
&& cp /tmp/nginx-agent.sources /etc/apt/sources.list.d/nginx-agent.sources \
309
315
&& apt-get update \
310
- && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=3.2. * \
316
+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=${NGINX_AGENT_VERSION} * \
311
317
&& agent.sh \
312
318
&& rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx-agent.sources
313
319
@@ -367,6 +373,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
367
373
# ############################################ Base image for UBI with NGINX Plus #############################################
368
374
FROM ubi-minimal AS ubi-9-plus
369
375
ARG NGINX_PLUS_VERSION
376
+ ARG NGINX_AGENT_VERSION
370
377
371
378
ENV NGINX_VERSION=${NGINX_PLUS_VERSION}
372
379
@@ -384,7 +391,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
384
391
mkdir -p /etc/nginx/reporting/ && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
385
392
&& ubi-setup.sh \
386
393
&& rpm -Uvh /ubi-bin/c-ares-*.rpm \
387
- && microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check nginx-agent-3.2. * \
394
+ && microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check nginx-agent-${NGINX_AGENT_VERSION} * \
388
395
&& agent.sh \
389
396
&& ubi-clean.sh
390
397
0 commit comments