Uploaded image for project: 'Red Hat OpenShift Dev Spaces (formerly CodeReady Workspaces) '
  1. Red Hat OpenShift Dev Spaces (formerly CodeReady Workspaces)
  2. CRW-1648 Support upstream plugin update automation in CRW
  3. CRW-1796

update bootstrapping process to fetch vsix files into a tarball, then unpack them during brew build

XMLWordPrintable

    • False
    • False
    • Undefined

      With the latest changes in the crw plugin registry, the bootstrap process is broken:

      18:48:22 ======= BOOTSTRAP DOCKERFILE =======>
      18:48:22 + cat bootstrap.Dockerfile
      18:48:22 #
      18:48:22 # Copyright (c) 2018-2021 Red Hat, Inc.
      18:48:22 # This program and the accompanying materials are made
      18:48:22 # available under the terms of the Eclipse Public License 2.0
      18:48:22 # which is available at https://www.eclipse.org/legal/epl-2.0/
      18:48:22 #
      18:48:22 # SPDX-License-Identifier: EPL-2.0
      18:48:22 #
      18:48:22 # Contributors:
      18:48:22 #   Red Hat, Inc. - initial API and implementation
      18:48:22 #
      18:48:22 
      18:48:22 # Build registry
      18:48:22 # UPSTREAM: use RHEL7/RHSCL/httpd image so we're not required to authenticate with registry.redhat.io
      18:48:22 # https://access.redhat.com/containers/?tab=tags#/registry.access.redhat.com/rhscl/httpd-24-rhel7
      18:48:22 #FROM rhscl/httpd-24-rhel7:2.4-143.1619800879
      18:48:22 
      18:48:22 # DOWNSTREAM: use RHEL8/httpd
      18:48:22 # https://access.redhat.com/containers/?tab=tags#/registry.access.redhat.com/rhel8/httpd-24
      18:48:22 FROM registry-proxy.engineering.redhat.com/rh-osbs/rhel8-httpd-24:1-130.1618434979 AS registry
      18:48:22 USER 0
      18:48:22 # latest httpd container doesn't include ssl cert, so generate one
      18:48:22 RUN chmod +x /usr/share/container-scripts/httpd/pre-init/40-ssl-certs.sh && \
      18:48:22     /usr/share/container-scripts/httpd/pre-init/40-ssl-certs.sh
      18:48:22 RUN yum update -y systemd && yum clean all && rm -rf /var/cache/yum && \
      18:48:22     echo "Installed Packages" && rpm -qa | sort -V && echo "End Of Installed Packages"
      18:48:22 
      18:48:22 # BEGIN these steps might not be required
      18:48:22 RUN sed -i /etc/httpd/conf/httpd.conf \
      18:48:22     -e "s,Listen 80,Listen 8080," \
      18:48:22     -e "s,logs/error_log,/dev/stderr," \
      18:48:22     -e "s,logs/access_log,/dev/stdout," \
      18:48:22     -e "s,AllowOverride None,AllowOverride All," && \
      18:48:22     chmod a+rwX /etc/httpd/conf /run/httpd /etc/httpd/logs/
      18:48:22 STOPSIGNAL SIGWINCH
      18:48:22 # END these steps might not be required
      18:48:22 
      18:48:22 WORKDIR /var/www/html
      18:48:22 
      18:48:22 RUN mkdir -m 777 /var/www/html/v3
      18:48:22 COPY ./build/dockerfiles/rhel.entrypoint.sh ./build/dockerfiles/entrypoint.sh /usr/local/bin/
      18:48:22 RUN chmod g+rwX /usr/local/bin/entrypoint.sh /usr/local/bin/rhel.entrypoint.sh
      18:48:22 COPY README.md .htaccess /var/www/html/
      18:48:22 COPY output/v3 /var/www/html/v3
      18:48:22 COPY v3/plugins/.htaccess /var/www/html/v3/plugins/
      18:48:22 COPY v3/images/eclipse-che-logo.png /var/www/html/v3/images/
      18:48:22 
      18:48:22 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
      18:48:22 CMD ["/usr/local/bin/rhel.entrypoint.sh"]
      18:48:22 
      18:48:22 # append Brew metadata here
      18:48:22 ENV SUMMARY="Red Hat CodeReady Workspaces pluginregistry container" \
      18:48:22     DESCRIPTION="Red Hat CodeReady Workspaces pluginregistry container" \
      18:48:22     PRODNAME="codeready-workspaces" \
      18:48:22     COMPNAME="pluginregistry-rhel8"
      18:48:22 LABEL summary="" \
      18:48:22       description="$DESCRIPTION" \
      18:48:22       io.k8s.description="$DESCRIPTION" \
      18:48:22       io.k8s.display-name="$DESCRIPTION" \
      18:48:22       io.openshift.tags="$PRODNAME,$COMPNAME" \
      18:48:22       com.redhat.component="$PRODNAME-$COMPNAME-container" \
      18:48:22       name="$PRODNAME/$COMPNAME" \
      18:48:22       version="2.9" \
      18:48:22       license="EPLv2" \
      18:48:22       maintainer="Eric Williams <ericwill@redhat.com>, Nick Boldt <nboldt@redhat.com>" \
      18:48:22       io.openshift.expose-services="" \
      18:48:22       usage=""
      18:48:22 + echo '<======= BOOTSTRAP DOCKERFILE ======='
      18:48:22 <======= BOOTSTRAP DOCKERFILE =======
      18:48:22 + echo '======= START BOOTSTRAP BUILD =======>'
      18:48:22 ======= START BOOTSTRAP BUILD =======>
      18:48:22 + docker build -t pluginregistry:tmp . --no-cache -f bootstrap.Dockerfile --target builder --build-arg BOOTSTRAP=true --build-arg USE_DIGESTS=false
      18:48:22 Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
      18:48:22 Error: The target "builder" was not found in the provided Dockerfile

      http://localhost:8080/job/CRW_CI/job/crw-sync-to-downstream_2.x/4/console

      Instead of this --target builder --build-arg BOOTSTRAP=true set up, we should have something similar that will:

      • collect pip dependencies so we can install yq
      • collect vsix files so we can unpack them during offline brew build
      • collect any other npm/yarn/golang dependencies we might need at build time

            ericwill@redhat.com Eric Williams
            nickboldt Nick Boldt
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: