-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into feat/graduate-ts-and-gc
- Loading branch information
Showing
4 changed files
with
112 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,16 @@ FROM opentracing/nginx-opentracing:nginx-1.25.3-alpine as alpine-opentracing-lib | |
FROM ghcr.io/nginxinc/alpine-fips:0.1.1-alpine3.18 as alpine-fips | ||
|
||
|
||
############################################# Base image for Alpine ############################################# | ||
FROM nginx:1.25.3-alpine AS alpine | ||
|
||
RUN --mount=type=bind,from=alpine-opentracing-lib,target=/tmp/ot/ \ | ||
apk add --no-cache libcap libstdc++ \ | ||
&& 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/ \ | ||
&& cp -av /tmp/ot/usr/lib/nginx/modules/ngx_http_opentracing_module.so /usr/lib/nginx/modules/ \ | ||
&& ldconfig /usr/local/lib/ | ||
|
||
|
||
############################################# Base image for Debian ############################################# | ||
FROM nginx:1.25.3 AS debian | ||
|
||
|
@@ -22,16 +32,46 @@ RUN --mount=type=bind,from=opentracing-lib,target=/tmp/ot/ \ | |
&& ldconfig | ||
|
||
|
||
############################################# Base image for Alpine ############################################# | ||
FROM nginx:1.25.3-alpine AS alpine | ||
############################################# Base image for UBI ############################################# | ||
FROM nginxcontrib/nginx:1.25.3-ubi AS ubi | ||
ARG IC_VERSION | ||
|
||
RUN --mount=type=bind,from=alpine-opentracing-lib,target=/tmp/ot/ \ | ||
apk add --no-cache libcap libstdc++ \ | ||
# temp fix for CVE-2023-38545 and CVE-2023-44487 | ||
&& apk upgrade --no-cache curl nghttp2-libs \ | ||
&& 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/ \ | ||
&& cp -av /tmp/ot/usr/lib/nginx/modules/ngx_http_opentracing_module.so /usr/lib/nginx/modules/ \ | ||
&& ldconfig /usr/local/lib/ | ||
LABEL name="NGINX Ingress Controller" \ | ||
maintainer="[email protected]" \ | ||
vendor="NGINX Inc" \ | ||
version="${IC_VERSION}" \ | ||
release="1" \ | ||
summary="The Ingress Controller is an application that runs in a cluster and configures an HTTP load balancer according to Ingress resources." \ | ||
description="The Ingress Controller is an application that runs in a cluster and configures an HTTP load balancer according to Ingress resources." \ | ||
io.k8s.description="The NGINX Ingress Controller is an application that runs in a cluster and configures an HTTP load balancer according to Ingress resources." \ | ||
io.openshift.tags="nginx,ingress-controller,ingress,controller,kubernetes,openshift" | ||
|
||
COPY --link --chown=101:0 LICENSE /licenses/ | ||
|
||
|
||
############################################# NGINX files for NGINX Plus ############################################# | ||
FROM scratch as nginx-files | ||
ARG IC_VERSION | ||
ARG BUILD_OS | ||
ARG NGINX_PLUS_VERSION | ||
|
||
# the following links can be replaced with local files if needed, i.e. ADD --chown=101:0 <local_file> <container_file> | ||
ADD --link --chown=101:0 https://cs.nginx.com/static/files/90pkgs-nginx 90pkgs-nginx | ||
ADD --link --chown=101:0 https://cs.nginx.com/static/keys/nginx_signing.key nginx_signing.key | ||
ADD --link --chown=101:0 https://cs.nginx.com/static/keys/nginx_signing.rsa.pub nginx_signing.rsa.pub | ||
ADD --link --chown=101:0 https://cs.nginx.com/static/keys/app-protect-security-updates.key app-protect-security-updates.key | ||
ADD --link --chown=101:0 https://cs.nginx.com/static/files/nginx-plus-8.repo nginx-plus-8.repo | ||
ADD --link --chown=101:0 https://cs.nginx.com/static/files/plus-9.repo nginx-plus-9.repo | ||
ADD --link --chown=101:0 https://cs.nginx.com/static/files/app-protect-8.repo app-protect-8.repo | ||
ADD --link --chown=101:0 https://cs.nginx.com/static/files/app-protect-dos-8.repo app-protect-dos-8.repo | ||
ADD --link --chown=101:0 https://raw.githubusercontent.com/nginxinc/k8s-common/main/files/plus-debian-11.repo debian-plus-11.sources | ||
ADD --link --chown=101:0 https://raw.githubusercontent.com/nginxinc/k8s-common/main/files/plus-debian-12.repo debian-plus-12.sources | ||
ADD --link --chown=101:0 https://raw.githubusercontent.com/nginxinc/k8s-common/main/files/nap-waf-debian-11.repo nap-waf-11.sources | ||
ADD --link --chown=101:0 https://raw.githubusercontent.com/nginxinc/k8s-common/main/files/nap-dos-debian-11.repo nap-dos-11.sources | ||
|
||
RUN --mount=from=busybox:musl,src=/bin/,dst=/bin/ printf "%s\n" "Acquire::https::pkgs.nginx.com::User-Agent \"k8s-ic-$IC_VERSION${BUILD_OS##debian-plus}-apt\";" >> 90pkgs-nginx \ | ||
&& sed -i -e "s;%VERSION%;${NGINX_PLUS_VERSION};g" *.sources \ | ||
&& sed -i -e "y/0/1/" -e "1,8s;/centos;/${NGINX_PLUS_VERSION}/centos;" *.repo | ||
|
||
|
||
############################################# Base image for Alpine with NGINX Plus ############################################# | ||
|
@@ -41,8 +81,8 @@ ARG NGINX_PLUS_VERSION | |
RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/apk/cert.pem,mode=0644 \ | ||
--mount=type=secret,id=nginx-repo.key,dst=/etc/apk/cert.key,mode=0644 \ | ||
--mount=type=bind,from=alpine-opentracing-lib,target=/tmp/ot/ \ | ||
wget -nv -O /etc/apk/keys/nginx_signing.rsa.pub https://cs.nginx.com/static/keys/nginx_signing.rsa.pub \ | ||
&& printf "%s\n" "https://pkgs.nginx.com/plus/${NGINX_PLUS_VERSION}/alpine/v$(grep -E -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \ | ||
--mount=type=bind,from=nginx-files,src=nginx_signing.rsa.pub,target=/etc/apk/keys/nginx_signing.rsa.pub \ | ||
printf "%s\n" "https://pkgs.nginx.com/plus/${NGINX_PLUS_VERSION}/alpine/v$(grep -E -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \ | ||
&& apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-opentracing nginx-plus-module-fips-check libcap libcurl \ | ||
&& cp -av /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/ \ | ||
&& ldconfig /usr/local/lib/ | ||
|
@@ -60,129 +100,104 @@ RUN --mount=type=bind,from=alpine-fips,target=/tmp/fips/ \ | |
|
||
############################################# Base image for Debian with NGINX Plus ############################################# | ||
FROM debian:12-slim AS debian-plus | ||
ARG IC_VERSION | ||
ARG NGINX_PLUS_VERSION | ||
ARG BUILD_OS | ||
|
||
SHELL ["/bin/bash", "-o", "pipefail", "-c"] | ||
RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \ | ||
--mount=type=secret,id=nginx-repo.key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \ | ||
--mount=type=bind,from=opentracing-lib,target=/tmp/ot/ \ | ||
--mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_signing.key \ | ||
--mount=type=bind,from=nginx-files,src=90pkgs-nginx,target=/etc/apt/apt.conf.d/90pkgs-nginx \ | ||
--mount=type=bind,from=nginx-files,src=debian-plus-12.sources,target=/etc/apt/sources.list.d/nginx-plus.sources \ | ||
apt-get update \ | ||
&& apt-get install --no-install-recommends --no-install-suggests -y sq ca-certificates libcap2-bin libcurl4 \ | ||
&& groupadd --system --gid 101 nginx \ | ||
&& useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \ | ||
&& apt-get install --no-install-recommends --no-install-suggests -y ca-certificates gnupg curl apt-transport-https \ | ||
&& curl -fsSL https://cs.nginx.com/static/keys/nginx_signing.key | gpg --dearmor > /etc/apt/trusted.gpg.d/nginx_signing.gpg \ | ||
&& curl -fsSL -o /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx \ | ||
&& DEBIAN_VERSION=$(awk -F '=' '/^VERSION_CODENAME=/ {print $2}' /etc/os-release) \ | ||
&& printf "%s\n" "Acquire::https::pkgs.nginx.com::User-Agent \"k8s-ic-$IC_VERSION${BUILD_OS##debian-plus}-apt\";" >> /etc/apt/apt.conf.d/90pkgs-nginx \ | ||
&& printf "%s\n" "deb https://pkgs.nginx.com/plus/${NGINX_PLUS_VERSION}/debian ${DEBIAN_VERSION} nginx-plus" > /etc/apt/sources.list.d/nginx-plus.list \ | ||
&& useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \ | ||
&& sq dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg /tmp/nginx_signing.key \ | ||
&& apt-get update \ | ||
&& apt-get install --no-install-recommends --no-install-suggests -y nginx-plus nginx-plus-module-njs nginx-plus-module-opentracing nginx-plus-module-fips-check libcap2-bin libcurl4 \ | ||
&& apt-get purge --auto-remove -y apt-transport-https gnupg curl \ | ||
&& apt-get install --no-install-recommends --no-install-suggests -y nginx-plus nginx-plus-module-njs nginx-plus-module-opentracing nginx-plus-module-fips-check \ | ||
&& apt-get purge --auto-remove -y sq \ | ||
&& cp -av /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/ \ | ||
&& ldconfig \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
|
||
############################################# Base image for Debian with NGINX Plus and App Protect WAF/DoS ############################################# | ||
FROM debian:11-slim as debian-plus-nap | ||
ARG IC_VERSION | ||
ARG NGINX_PLUS_VERSION | ||
ARG NAP_MODULES | ||
|
||
RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \ | ||
--mount=type=secret,id=nginx-repo.key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \ | ||
--mount=type=bind,from=opentracing-lib,target=/tmp/ot/ \ | ||
--mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_signing.key \ | ||
--mount=type=bind,from=nginx-files,src=app-protect-security-updates.key,target=/tmp/app-protect-security-updates.key \ | ||
--mount=type=bind,from=nginx-files,src=90pkgs-nginx,target=/etc/apt/apt.conf.d/90pkgs-nginx \ | ||
--mount=type=bind,from=nginx-files,src=debian-plus-11.sources,target=/etc/apt/sources.list.d/nginx-plus.sources \ | ||
--mount=type=bind,from=nginx-files,src=nap-waf-11.sources,target=/etc/apt/sources.list.d/app-protect.sources \ | ||
--mount=type=bind,from=nginx-files,src=nap-dos-11.sources,target=/etc/apt/sources.list.d/app-protect-dos.sources \ | ||
## the code below is duplicated from the debian-plus image because NAP doesn't support debian 12 | ||
apt-get update \ | ||
&& apt-get install --no-install-recommends --no-install-suggests -y ca-certificates sq \ | ||
&& groupadd --system --gid 101 nginx \ | ||
&& useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \ | ||
## the code below is duplicated from the debian-plus image because NAP doesn't support debian 12 | ||
&& apt-get install --no-install-recommends --no-install-suggests -y ca-certificates gnupg curl apt-transport-https \ | ||
&& curl -fsSL https://cs.nginx.com/static/keys/nginx_signing.key | gpg --dearmor > /etc/apt/trusted.gpg.d/nginx_signing.gpg \ | ||
&& curl -fsSL -o /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx \ | ||
&& DEBIAN_VERSION=$(awk -F '=' '/^VERSION_CODENAME=/ {print $2}' /etc/os-release) \ | ||
&& printf "%s\n" "Acquire::https::pkgs.nginx.com::User-Agent \"k8s-ic-$IC_VERSION${BUILD_OS##debian-plus}-apt\";" >> /etc/apt/apt.conf.d/90pkgs-nginx \ | ||
&& printf "%s\n" "deb https://pkgs.nginx.com/plus/${NGINX_PLUS_VERSION}/debian ${DEBIAN_VERSION} nginx-plus" > /etc/apt/sources.list.d/nginx-plus.list \ | ||
&& useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \ | ||
&& sq dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg /tmp/nginx_signing.key \ | ||
&& sq dearmor -o /usr/share/keyrings/app-protect-archive-keyring.gpg /tmp/app-protect-security-updates.key \ | ||
&& apt-get update \ | ||
&& apt-get install --no-install-recommends --no-install-suggests -y nginx-plus nginx-plus-module-njs nginx-plus-module-opentracing nginx-plus-module-fips-check libcap2-bin libcurl4 \ | ||
## end of duplicated code | ||
&& if [ -z "${NAP_MODULES##*waf*}" ]; then \ | ||
curl -fsSL https://cs.nginx.com/static/keys/app-protect-security-updates.key | gpg --dearmor > /etc/apt/trusted.gpg.d/nginx_app_signing.gpg \ | ||
&& printf "%s\n" "deb https://pkgs.nginx.com/app-protect/${NGINX_PLUS_VERSION}/debian ${DEBIAN_VERSION} nginx-plus" \ | ||
"deb https://pkgs.nginx.com/app-protect-security-updates/debian ${DEBIAN_VERSION} nginx-plus" > /etc/apt/sources.list.d/nginx-app-protect.list \ | ||
&& apt-get update \ | ||
&& apt-get install --no-install-recommends --no-install-suggests -y app-protect app-protect-attack-signatures app-protect-threat-campaigns; \ | ||
apt-get install --no-install-recommends --no-install-suggests -y app-protect app-protect-attack-signatures app-protect-threat-campaigns; \ | ||
fi \ | ||
&& if [ -z "${NAP_MODULES##*dos*}" ]; then \ | ||
printf "%s\n" "deb https://pkgs.nginx.com/app-protect-dos/${NGINX_PLUS_VERSION}/debian ${DEBIAN_VERSION} nginx-plus" > /etc/apt/sources.list.d/nginx-app-protect-dos.list \ | ||
&& apt-get update \ | ||
&& apt-get install --no-install-recommends --no-install-suggests -y app-protect-dos; \ | ||
apt-get install --no-install-recommends --no-install-suggests -y app-protect-dos; \ | ||
fi \ | ||
&& apt-get purge --auto-remove -y apt-transport-https gnupg curl \ | ||
&& apt-get purge --auto-remove -y sq \ | ||
## the code below is duplicated from the debian-plus image because NAP doesn't support debian 12 | ||
&& cp -av /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/ \ | ||
&& ldconfig \ | ||
## end of duplicated code | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& rm /etc/apt/sources.list.d/nginx-app-protect*.list | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Uncomment the lines below if you want to install a custom CA certificate | ||
# COPY build/*.crt /usr/local/share/ca-certificates/ | ||
# RUN update-ca-certificates | ||
|
||
|
||
############################################# Base image for UBI ############################################# | ||
FROM nginxcontrib/nginx:1.25.3-ubi AS ubi | ||
ARG IC_VERSION | ||
|
||
LABEL name="NGINX Ingress Controller" \ | ||
maintainer="[email protected]" \ | ||
vendor="NGINX Inc" \ | ||
version="${IC_VERSION}" \ | ||
release="1" \ | ||
summary="The Ingress Controller is an application that runs in a cluster and configures an HTTP load balancer according to Ingress resources." \ | ||
description="The Ingress Controller is an application that runs in a cluster and configures an HTTP load balancer according to Ingress resources." \ | ||
io.k8s.description="The NGINX Ingress Controller is an application that runs in a cluster and configures an HTTP load balancer according to Ingress resources." \ | ||
io.openshift.tags="nginx,ingress-controller,ingress,controller,kubernetes,openshift" | ||
|
||
COPY --link --chown=101:0 LICENSE /licenses/ | ||
|
||
|
||
############################################# Base image for UBI with NGINX Plus ############################################# | ||
FROM redhat/ubi9-minimal AS ubi-plus | ||
ARG NGINX_PLUS_VERSION | ||
|
||
SHELL ["/bin/bash", "-o", "pipefail", "-c"] | ||
RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \ | ||
--mount=type=secret,id=nginx-repo.key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \ | ||
--mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_signing.key \ | ||
--mount=type=bind,from=nginx-files,src=nginx-plus-9.repo,target=/etc/yum.repos.d/nginx-plus.repo \ | ||
microdnf --nodocs install -y shadow-utils \ | ||
&& cat /etc/yum.repos.d/nginx-plus.repo \ | ||
&& groupadd --system --gid 101 nginx \ | ||
&& useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \ | ||
&& rpm --import https://cs.nginx.com/static/keys/nginx_signing.key \ | ||
&& curl -fsSL "https://cs.nginx.com/static/files/plus-$(grep -E -o '[0-9]+\.[0-9]+' /etc/redhat-release | cut -d"." -f1).repo" | tr 0 1 > /etc/yum.repos.d/nginx-plus.repo \ | ||
&& sed -i "0,/centos/s;;${NGINX_PLUS_VERSION}/centos;" /etc/yum.repos.d/nginx-plus.repo \ | ||
&& rpm --import /tmp/nginx_signing.key \ | ||
&& microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \ | ||
&& microdnf remove -y shadow-utils \ | ||
&& microdnf clean all | ||
|
||
|
||
############################################# Base image for UBI with NGINX Plus and App Protect WAF/DoS ############################################# | ||
FROM redhat/ubi8 as ubi-plus-nap | ||
ARG NGINX_PLUS_VERSION | ||
ARG NAP_MODULES | ||
|
||
RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \ | ||
--mount=type=secret,id=nginx-repo.key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \ | ||
--mount=type=secret,id=rhel_license,dst=/tmp/rhel_license,mode=0644 \ | ||
--mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_signing.key \ | ||
--mount=type=bind,from=nginx-files,src=nginx-plus-8.repo,target=/etc/yum.repos.d/nginx-plus.repo,rw \ | ||
--mount=type=bind,from=nginx-files,src=app-protect-security-updates.key,target=/tmp/app-protect-security-updates.key \ | ||
--mount=type=bind,from=nginx-files,src=app-protect-8.repo,target=/etc/yum.repos.d/app-protect-8.repo \ | ||
--mount=type=bind,from=nginx-files,src=app-protect-dos-8.repo,target=/etc/yum.repos.d/app-protect-dos-8.repo \ | ||
source /tmp/rhel_license \ | ||
## the code below is duplicated from the ubi-plus image because NAP doesn't support UBI 9 and minimal versions | ||
dnf --nodocs install -y shadow-utils ca-certificates \ | ||
&& groupadd --system --gid 101 nginx \ | ||
&& useradd --system --gid nginx --no-create-home --home-dir /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \ | ||
&& rpm --import https://cs.nginx.com/static/keys/nginx_signing.key \ | ||
&& curl -fsSL "https://cs.nginx.com/static/files/nginx-plus-$(grep -E -o '[0-9]+\.[0-9]+' /etc/redhat-release | cut -d"." -f1).repo" | tr 0 1 > /etc/yum.repos.d/nginx-plus.repo \ | ||
&& sed -i "0,/centos/s;;${NGINX_PLUS_VERSION}/centos;" /etc/yum.repos.d/nginx-plus.repo \ | ||
&& rpm --import /tmp/nginx_signing.key \ | ||
&& dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-fips-check \ | ||
## end of duplicated code | ||
## fix for CVEs | ||
|
@@ -192,21 +207,17 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode | |
&& subscription-manager attach \ | ||
&& dnf config-manager --set-enabled codeready-builder-for-rhel-8-x86_64-rpms \ | ||
&& dnf --nodocs install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \ | ||
&& rpm --import /tmp/app-protect-security-updates.key \ | ||
&& if [ -z "${NAP_MODULES##*waf*}" ]; then \ | ||
curl -fsSL https://cs.nginx.com/static/files/app-protect-8.repo > /etc/yum.repos.d/app-protect-8.repo; \ | ||
sed -i "0,/centos/s;;${NGINX_PLUS_VERSION}/centos;" /etc/yum.repos.d/app-protect-8.repo; \ | ||
dnf --nodocs install -y app-protect app-protect-attack-signatures app-protect-threat-campaigns; \ | ||
fi \ | ||
&& if [ -z "${NAP_MODULES##*dos*}" ]; then \ | ||
curl -fsSL https://cs.nginx.com/static/files/app-protect-dos-8.repo > /etc/yum.repos.d/app-protect-dos-8.repo; \ | ||
sed -i "0,/centos/s;;${NGINX_PLUS_VERSION}/centos;" /etc/yum.repos.d/app-protect-dos-8.repo; \ | ||
dnf --nodocs install -y app-protect-dos; \ | ||
fi \ | ||
# fix for CVEs | ||
&& dnf upgrade -y curl ncurses \ | ||
&& rm /etc/yum.repos.d/app-protect*.repo \ | ||
&& subscription-manager unregister \ | ||
&& dnf clean all && rm -rf /var/cache/dnf | ||
&& dnf clean all | ||
|
||
# Uncomment the lines below if you want to install a custom CA certificate | ||
# COPY build/*.crt /etc/pki/ca-trust/source/anchors/ | ||
|
@@ -242,7 +253,7 @@ RUN --mount=type=bind,target=/tmp mkdir -p /var/lib/nginx /etc/nginx/secrets /et | |
/tmp/internal/configs/version2/nginx$PLUS.virtualserver.tmpl /tmp/internal/configs/version2/nginx$PLUS.transportserver.tmpl / \ | ||
&& chown -R 101:0 /etc/nginx /var/cache/nginx /var/lib/nginx /*.tmpl \ | ||
&& chmod -R g=u /etc/nginx /var/cache/nginx /var/lib/nginx /*.tmpl \ | ||
&& rm -f /etc/nginx/conf.d/* /etc/apt/apt.conf.d/90pkgs-nginx /etc/apt/sources.list.d/nginx-plus.list | ||
&& rm -f /etc/nginx/conf.d/* | ||
|
||
# Uncomment the line below if you would like to add the default.pem to the image | ||
# and use it as a certificate and key for the default server | ||
|
Oops, something went wrong.