From cf4b545e88f1ee1d425427c424d7186d8789f276 Mon Sep 17 00:00:00 2001 From: Radoslaw Szwajkowski Date: Fri, 16 Oct 2026 11:58:50 +0200 Subject: [PATCH] OCPNETUI-184: Sync Dockerfile with Dockerfile.art Port fixes to Dockerfile finalized on main/5.1 branch with PR #516 Remove Cachito related config - follow PR #356. Reference-Url: https://github.com/openshift/networking-console-plugin/pull/516 Reference-Url: https://github.com/openshift/networking-console-plugin/pull/356 Assisted-by: Cursor:claude-opus-4.6 Signed-off-by: Radoslaw Szwajkowski --- .ci-operator.yaml | 4 ---- Dockerfile | 25 ++++++++++++++----------- Dockerfile.art | 22 +++++++++++++--------- 3 files changed, 27 insertions(+), 24 deletions(-) delete mode 100644 .ci-operator.yaml diff --git a/.ci-operator.yaml b/.ci-operator.yaml deleted file mode 100644 index b5c3b86c..00000000 --- a/.ci-operator.yaml +++ /dev/null @@ -1,4 +0,0 @@ -build_root_image: - name: nodejs-18 - namespace: openshift - tag: latest \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 076607a9..9ffb7226 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,9 +5,19 @@ FROM registry.ci.openshift.org/ocp/builder:rhel-9-base-nodejs-openshift-4.19 AS COPY . /opt/app-root/src/app WORKDIR /opt/app-root/src/app -# Run install as supper tux USER 0 -RUN npm ci && npm run build + +# prevent npm registry timeouts when building OKD images +# use 10min fetch timeout and up to 1min between retries +# retry config details: https://www.npmjs.com/package/retry +RUN npm config set loglevel http +RUN npm config set fetch-timeout 600000 +RUN npm config set fetch-retries 9 +RUN npm config set fetch-retry-factor 2 + +# Install dependencies and build +ENV CYPRESS_INSTALL_BINARY=0 +RUN npm clean-install --ignore-scripts --no-audit && npm run build # Web server container FROM registry.ci.openshift.org/ocp/4.19:base-rhel9 @@ -15,20 +25,13 @@ FROM registry.ci.openshift.org/ocp/4.19:base-rhel9 RUN INSTALL_PKGS="nginx" && \ dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \ rpm -V $INSTALL_PKGS && \ - yum -y clean all --enablerepo='*' && \ + dnf -y clean all --enablerepo='*' && rm -rf /var/cache/dnf/* && \ chown -R 1001:0 /var/lib/nginx /var/log/nginx /run && \ chmod -R ug+rwX /var/lib/nginx /var/log/nginx /run -# Use none-root user +# Use non-root user USER 1001 -# Set nginx configuration -# COPY nginx.conf /etc/nginx/nginx.conf - -# When using ubi9/nginx-120 defaults: -# listen 8080 default_server; -# root /opt/app-root/src; - COPY --from=build /opt/app-root/src/app/dist /opt/app-root/src # Run the server diff --git a/Dockerfile.art b/Dockerfile.art index 53878bc3..9ffb7226 100644 --- a/Dockerfile.art +++ b/Dockerfile.art @@ -3,17 +3,21 @@ FROM registry.ci.openshift.org/ocp/builder:rhel-9-base-nodejs-openshift-4.19 AS # Copy app source COPY . /opt/app-root/src/app -COPY $REMOTE_SOURCES $REMOTE_SOURCES_DIR WORKDIR /opt/app-root/src/app USER 0 +# prevent npm registry timeouts when building OKD images +# use 10min fetch timeout and up to 1min between retries +# retry config details: https://www.npmjs.com/package/retry +RUN npm config set loglevel http +RUN npm config set fetch-timeout 600000 +RUN npm config set fetch-retries 9 +RUN npm config set fetch-retry-factor 2 -# use dependencies provided by Cachito -RUN test -d ${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps || exit 1; \ - cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/{.npmrc,.yarnrc,yarn.lock,registry-ca.pem} . \ - && source ${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/cachito.env \ - && npm ci && npm run build +# Install dependencies and build +ENV CYPRESS_INSTALL_BINARY=0 +RUN npm clean-install --ignore-scripts --no-audit && npm run build # Web server container FROM registry.ci.openshift.org/ocp/4.19:base-rhel9 @@ -21,14 +25,14 @@ FROM registry.ci.openshift.org/ocp/4.19:base-rhel9 RUN INSTALL_PKGS="nginx" && \ dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \ rpm -V $INSTALL_PKGS && \ - yum -y clean all --enablerepo='*' && \ + dnf -y clean all --enablerepo='*' && rm -rf /var/cache/dnf/* && \ chown -R 1001:0 /var/lib/nginx /var/log/nginx /run && \ chmod -R ug+rwX /var/lib/nginx /var/log/nginx /run -# Use none-root user +# Use non-root user USER 1001 COPY --from=build /opt/app-root/src/app/dist /opt/app-root/src # Run the server -CMD nginx -g "daemon off;" \ No newline at end of file +CMD nginx -g "daemon off;"