Skip to content

Commit

Permalink
Move Dockerfile.product to Dockerfile and keep the first as a symlink
Browse files Browse the repository at this point in the history
  • Loading branch information
aleskandro committed Jan 24, 2023
1 parent bd74dc0 commit d9649c2
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 88 deletions.
77 changes: 66 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,22 +1,77 @@
FROM quay.io/coreos/tectonic-console-builder:v24 AS build

##################################################
#
# go backend build
FROM registry.ci.openshift.org/ocp/builder:rhel-8-golang-1.19-openshift-4.13 AS gobuilder
RUN mkdir -p /go/src/github.com/openshift/console/
ADD . /go/src/github.com/openshift/console/
WORKDIR /go/src/github.com/openshift/console/
RUN ./build.sh
RUN ./build-backend.sh


##################################################
#
# nodejs frontend build
FROM registry.ci.openshift.org/ocp/builder:rhel-8-base-nodejs-openshift-4.13 AS nodebuilder

ADD . .

USER 0

ARG YARN_VERSION=v1.22.19

# bootstrap yarn so we can install and run the other tools.
RUN CACHED_YARN=./artifacts/yarn-${YARN_VERSION}.tar.gz; \
if [ -f ${CACHED_YARN} ]; then \
npm install ${CACHED_YARN}; \
else \
npm install https://github.com/yarnpkg/yarn/releases/download/${YARN_VERSION}/yarn-${YARN_VERSION}.tar.gz; \
fi

FROM openshift/origin-base
# The REMOTE_SOURCES value is set by the build system to indicate the location of the cachito-backed artifacts cache.
# As cachito might not be available in all environments, we need to make sure the value is set before trying to use it and
# that the COPY layer below doesn't fail. Setting it to be the Dockerfile itself is fairly safe, as it will always be
# available.
ARG REMOTE_SOURCES=./Dockerfile.product
ARG REMOTE_SOURCE_DIR=/tmp/remote-sources

COPY --from=build /go/src/github.com/openshift/console/frontend/public/dist /opt/bridge/static
COPY --from=build /go/src/github.com/openshift/console/bin/bridge /opt/bridge/bin/bridge
COPY --from=build /go/src/github.com/openshift/console/pkg/graphql/schema.graphql /pkg/graphql/schema.graphql
COPY $REMOTE_SOURCES $REMOTE_SOURCES_DIR

LABEL io.k8s.display-name="OpenShift Console" \
io.k8s.description="This is a component of OpenShift Container Platform and provides a web console." \
io.openshift.tags="openshift" \
maintainer="Samuel Padgett <[email protected]>"
# use dependencies provided by Cachito
RUN test -d ${REMOTE_SOURCES}/cachito-gomod-with-deps || exit 0; \
cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/registry-ca.pem . \
&& cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/frontend/{.npmrc,.yarnrc,yarn.lock} frontend/

# prevent download of chromedriver, geckodriver, and the cypress binary as part of module installs
ENV CHROMEDRIVER_SKIP_DOWNLOAD=true \
GECKODRIVER_SKIP_DOWNLOAD=true \
CYPRESS_INSTALL_BINARY=0

# run the build
RUN container-entrypoint ./build-frontend.sh


##################################################
#
# actual base image for final product
FROM registry.ci.openshift.org/ocp/4.13:base
RUN mkdir -p /opt/bridge/bin
COPY --from=gobuilder /go/src/github.com/openshift/console/bin/bridge /opt/bridge/bin
COPY --from=nodebuilder /opt/app-root/src/frontend/public/dist /opt/bridge/static
COPY --from=gobuilder /go/src/github.com/openshift/console/pkg/graphql/schema.graphql /pkg/graphql/schema.graphql

WORKDIR /
# doesn't require a root user.
USER 1001

CMD [ "/opt/bridge/bin/bridge", "--public-dir=/opt/bridge/static" ]

LABEL \
io.k8s.description="This is a component of OpenShift Container Platform and provides a web console." \
com.redhat.component="openshift-enterprise-console-container" \
maintainer="Samuel Padgett <[email protected]>" \
name="openshift3/ose-console" \
License="Apache 2.0" \
io.k8s.display-name="OpenShift Console" \
vendor="Red Hat" \
io.openshift.tags="openshift,console"

77 changes: 0 additions & 77 deletions Dockerfile.product

This file was deleted.

1 change: 1 addition & 0 deletions Dockerfile.product

0 comments on commit d9649c2

Please sign in to comment.