diff --git a/devspaces-operator-bundle/build/scripts/buildDigestMapAlternateURLs.sh b/devspaces-operator-bundle/build/scripts/buildDigestMapAlternateURLs.sh
index 67121b96ee..8402cdf532 100755
--- a/devspaces-operator-bundle/build/scripts/buildDigestMapAlternateURLs.sh
+++ b/devspaces-operator-bundle/build/scripts/buildDigestMapAlternateURLs.sh
@@ -10,12 +10,11 @@
# Contributors:
# Red Hat, Inc. - initial API and implementation
#
-# insert RELATED_IMAGE_ fields for images referenced by the plugin and devfile registries
+# insert RELATED_IMAGE_ fields for images referenced by the devfile registry
tmpfile=$(mktemp)
echo ${image} | sed -r \
- `# for plugin & devfile registries, use internal Brew versions` \
- -e "s|registry.redhat.io/devspaces/(pluginregistry-rhel8:.+)|registry-proxy.engineering.redhat.com/rh-osbs/devspaces-\1|g" \
+ `# for devfile registry, use internal Brew versions` \
-e "s|registry.redhat.io/devspaces/(devfileregistry-rhel8:.+)|registry-proxy.engineering.redhat.com/rh-osbs/devspaces-\1|g" \
`# in all other cases (including operator) use published quay images to compute digests` \
-e "s|registry.redhat.io/devspaces/(.+)|quay.io/devspaces/\\1|g" \
diff --git a/devspaces-operator-bundle/build/scripts/digestExcludeList b/devspaces-operator-bundle/build/scripts/digestExcludeList
index eefffcf15a..e69de29bb2 100644
--- a/devspaces-operator-bundle/build/scripts/digestExcludeList
+++ b/devspaces-operator-bundle/build/scripts/digestExcludeList
@@ -1,2 +0,0 @@
-quay.io/eclipse/che-sidecar-workspace-data-sync:latest
-quay.io/eclipse/che-machine-exec:nightly
diff --git a/devspaces-operator-bundle/build/scripts/images.sh b/devspaces-operator-bundle/build/scripts/images.sh
index d45835fd9e..a15ac253f8 100755
--- a/devspaces-operator-bundle/build/scripts/images.sh
+++ b/devspaces-operator-bundle/build/scripts/images.sh
@@ -18,18 +18,11 @@ setOperatorImage() {
OPERATOR_IMAGE=$(yq -r '.spec.install.spec.deployments[].spec.template.spec.containers[].image' "${CSV}")
}
-setPluginRegistryList() {
- registry=$(yq -r '.spec.install.spec.deployments[].spec.template.spec.containers[].env[] | select(.name | test("RELATED_IMAGE_.*plugin_registry"; "g")) | .value' "${CSV}")
- setRegistryImages "${registry}"
-
- PLUGIN_REGISTRY_LIST=${registryImages}
-}
-
setDevfileRegistryList() {
registry=$(yq -r '.spec.install.spec.deployments[].spec.template.spec.containers[].env[] | select(.name | test("RELATED_IMAGE_.*devfile_registry"; "g")) | .value' "${CSV}")
setRegistryImages "${registry}"
- DEVFILE_REGISTRY_LIST=${registryImages}
+ DEVFILE_REGISTRY_LIST=${registryImages}
}
setRegistryImages() {
diff --git a/devspaces-operator-bundle/build/scripts/insert-related-images-to-csv.sh b/devspaces-operator-bundle/build/scripts/insert-related-images-to-csv.sh
index f0562bae65..034a215971 100755
--- a/devspaces-operator-bundle/build/scripts/insert-related-images-to-csv.sh
+++ b/devspaces-operator-bundle/build/scripts/insert-related-images-to-csv.sh
@@ -10,7 +10,7 @@
# Contributors:
# Red Hat, Inc. - initial API and implementation
#
-# insert RELATED_IMAGE_ fields for images referenced by the plugin and devfile registries
+# insert RELATED_IMAGE_ fields for images referenced by the devfile registry
set -e
# SCRIPTS_DIR=$(cd "$(dirname "$0")"; pwd)
@@ -51,13 +51,11 @@ if [[ ! -x $PODMAN ]]; then
fi
fi
-PLUGIN_REGISTRY_CONTAINERS=""
DEVFILE_REGISTRY_CONTAINERS=""
tmpdir=$(mktemp -d); mkdir -p $tmpdir; pushd $tmpdir >/dev/null
# extract registry containers to get external_images.txt
curl -sSLO https://raw.githubusercontent.com/redhat-developer/devspaces/devspaces-3-rhel-8/product/containerExtract.sh && chmod +x containerExtract.sh
./containerExtract.sh quay.io/devspaces/devfileregistry-rhel8:${DS_VERSION} --tar-flags var/www/html/*/external_images.txt --delete-before &
- ./containerExtract.sh quay.io/devspaces/pluginregistry-rhel8:${DS_VERSION} --tar-flags var/www/html/*/external_images.txt --delete-before &
wait
# CRW-3432 fail if we can't find the external_images.txt files
@@ -65,14 +63,10 @@ tmpdir=$(mktemp -d); mkdir -p $tmpdir; pushd $tmpdir >/dev/null
echo "[ERROR] Cannot resolve devfileregistry external_images.txt!"
exit 2
fi
- if [[ ! $(cat /tmp/quay.io-devspaces-pluginregistry-rhel8-${DS_VERSION}*/var/www/html/*/external_images.txt) ]]; then
- echo "[ERROR] Cannot resolve pluginregistry external_images.txt!"
- exit 3
- fi
# CRW-3177, CRW-3178 sort uniquely; replace quay refs with RHEC refs
# remove ghcr.io/ansible/ansible-workspace-env-reference from EXTERNAL_IMAGES
- EXTERNAL_IMAGES=$(cat /tmp/quay.io-devspaces-{devfile,plugin}registry-rhel8-${DS_VERSION}*/var/www/html/*/external_images.txt | \
+ EXTERNAL_IMAGES=$(cat /tmp/quay.io-devspaces-devfileregistry-rhel8-${DS_VERSION}*/var/www/html/*/external_images.txt | \
sed -r -e '/^ghcr\.io\/ansible\/ansible-workspace-env-reference/d' \
-e "s#quay.io/devspaces/#registry.redhat.io/devspaces/#g" | sort -uV)
@@ -82,11 +76,10 @@ tmpdir=$(mktemp -d); mkdir -p $tmpdir; pushd $tmpdir >/dev/null
echo "${EXTERNAL_IMAGES[@]}"
popd >/dev/null
# cleanup
-rm -fr $tmpdir /tmp/quay.io-devspaces-{devfile,plugin}registry-rhel8-${DS_VERSION}*/
-$PODMAN rmi -f quay.io/devspaces/pluginregistry-rhel8:${DS_VERSION} quay.io/devspaces/devfileregistry-rhel8:${DS_VERSION} || true
+rm -fr $tmpdir /tmp/quay.io-devspaces-devfileregistry-rhel8-${DS_VERSION}*/
+$PODMAN rmi -f quay.io/devspaces/devfileregistry-rhel8:${DS_VERSION} || true
# convert strings to arrays
DEVFILE_REGISTRY_CONTAINERS=(${EXTERNAL_IMAGES})
-PLUGIN_REGISTRY_CONTAINERS=(${EXTERNAL_IMAGES})
# same method used in both insert-related-images-to-csv.sh and sync-che-olm.sh
insertEnvVar()
@@ -100,7 +93,6 @@ insertEnvVar()
CSVFILE=${TARGETDIR}/manifests/devspaces.csv.yaml
# The updated name should be like:
-# RELATED_IMAGE_devspaces_udi_plugin_registry_image_GIXDCMQK
# RELATED_IMAGE_devspaces_udi_devfile_registry_image_GIXDCMQK
# RELATED_IMAGE_jboss_eap_7_eap73_openjdk8_openshift_rhel7_devfile_registry_image_G4XDGLRWBI______
updateRelatedImageName() {
@@ -121,7 +113,6 @@ updateRelatedImageName() {
done
}
-updateRelatedImageName "plugin_registry_image" "${PLUGIN_REGISTRY_CONTAINERS[@]}"
updateRelatedImageName "devfile_registry_image" "${DEVFILE_REGISTRY_CONTAINERS[@]}"
# replace external devspaces refs with internal ones, and quay refs (from v2 devfiles) with RHEC ones
diff --git a/devspaces-operator-bundle/build/scripts/sync-che-olm.sh b/devspaces-operator-bundle/build/scripts/sync-che-olm.sh
index b91885a96e..10771b1cbe 100755
--- a/devspaces-operator-bundle/build/scripts/sync-che-olm.sh
+++ b/devspaces-operator-bundle/build/scripts/sync-che-olm.sh
@@ -96,6 +96,20 @@ UDI_IMAGE="registry.redhat.io/devspaces/udi-rhel8@${UDI_IMAGE_TAG}"
RBAC_PROXY_IMAGE="registry.redhat.io/openshift4/ose-kube-rbac-proxy:${OPENSHIFT_TAG}"
OAUTH_PROXY_IMAGE="registry.redhat.io/openshift4/ose-oauth-proxy:${OPENSHIFT_TAG}"
+CODE_IMAGE_VERSION_ZZZ=$(skopeo inspect docker://quay.io/devspaces/code-rhel8:${DS_VERSION} | yq -r '.RepoTags' | sort -uV | grep "${DS_VERSION}-" | grep -E -v "\.[0-9]{10}" | tr -d '", ' | tail -1)
+CODE_IMAGE_DIGEST=$(skopeo inspect docker://quay.io/devspaces/code-rhel8:${CODE_IMAGE_VERSION_ZZZ} | yq -r '.Digest')
+CODE_IMAGE="registry.redhat.io/devspaces/code-rhel8@${CODE_IMAGE_DIGEST}"
+IDEA_IMAGE_VERSION_ZZZ=$(skopeo inspect docker://quay.io/devspaces/idea-rhel8:${DS_VERSION} | yq -r '.RepoTags' | sort -uV | grep "${DS_VERSION}-" | grep -E -v "\.[0-9]{10}" | tr -d '", ' | tail -1)
+IDEA_IMAGE_DIGEST=$(skopeo inspect docker://quay.io/devspaces/idea-rhel8:${IDEA_IMAGE_VERSION_ZZZ} | yq -r '.Digest')
+IDEA_IMAGE="registry.redhat.io/devspaces/idea-rhel8@${IDEA_IMAGE_DIGEST}"
+
+EDITORS_DEFINITIONS_ENV_VAR="[
+{ name: \"RELATED_IMAGE_editor_definition_che_idea_2022_1_idea_rhel8\", value: \"${UDI_IMAGE}\"},
+{ name: \"RELATED_IMAGE_editor_definition_che_idea_2022_1_idea_rhel8_injector\", value: \"${IDEA_IMAGE}\"},
+{ name: \"RELATED_IMAGE_editor_definition_che_code_latest_che_code_runtime_description\", value: \"${UDI_IMAGE}\"},
+{ name: \"RELATED_IMAGE_editor_definition_che_code_latest_che_code_injector\", value: \"${CODE_IMAGE}\"}
+]"
+
# header to reattach to yaml files after yq transform removes it
COPYRIGHT="#
# Copyright (c) 2018-$(date +%Y) Red Hat, Inc.
@@ -272,10 +286,13 @@ for CSVFILE in ${TARGETDIR}/manifests/devspaces.csv.yaml; do
V1_EXAMPLE=$(echo "$ALM_EXAMPLES" | yq '(.[] | select(.apiVersion=="org.eclipse.che/v1"))')
V2_EXAMPLE=$(echo "$ALM_EXAMPLES" | yq '(.[] | select(.apiVersion=="org.eclipse.che/v2"))')
FIXED_V2_EXAMPLE=$(echo "$V2_EXAMPLE" | \
+ yq 'del(.spec.components.pluginRegistry.disableInternalRegistry)' | \
+ yq 'del(.spec.components.pluginRegistry | select(length == 0))' | \
yq 'del(.spec.components.devfileRegistry.disableInternalRegistry)' | \
yq 'del(.spec.components.devfileRegistry.externalDevfileRegistries)'| \
yq 'del(.spec.components.devfileRegistry | select(length == 0))')
FIXED_V1_EXAMPLE=$(echo "$V1_EXAMPLE" | \
+ yq 'del(.spec.server.externalPluginRegistry)' | \
yq 'del(.spec.server.externalDevfileRegistry)' | \
yq 'del(.spec.server.devfileRegistryUrl)'| \
yq 'del(.spec.server.externalDevfileRegistries)'| \
@@ -362,6 +379,12 @@ for CSVFILE in ${TARGETDIR}/manifests/devspaces.csv.yaml; do
done
echo "Converted (yq #3) ${CSVFILE}"
+ # https://github.com/eclipse-che/che/issues/22932
+ # Update editors definitions environment variables in csv
+ yq -riY "del(.spec.install.spec.deployments[].spec.template.spec.containers[0].env[] | select(.name | test(\"^RELATED_IMAGE_editor_definition_\")))" "${CSVFILE}"
+ yq -riY "(.spec.install.spec.deployments[].spec.template.spec.containers[0].env ) += [${EDITORS_DEFINITIONS_ENV_VAR}]" "${CSVFILE}"
+ echo "Converted (yq #3) ${CSVFILE}"
+
# add more RELATED_IMAGE_ fields for the images referenced by the registries
bash -e "${SCRIPTS_DIR}/insert-related-images-to-csv.sh" -v "${CSV_VERSION}" -t "${TARGETDIR}" --ds-branch "${MIDSTM_BRANCH}"
RETURN_CODE=$?
diff --git a/devspaces-operator-bundle/build/scripts/sync.sh b/devspaces-operator-bundle/build/scripts/sync.sh
index 0ae95bdc5d..1e207790b6 100755
--- a/devspaces-operator-bundle/build/scripts/sync.sh
+++ b/devspaces-operator-bundle/build/scripts/sync.sh
@@ -118,6 +118,7 @@ api/
build/
config/
controllers/
+editors-definitions/
Dependencies.md
devfile.yaml
devfiles.yaml
diff --git a/devspaces-operator-bundle/editors-definitions/che-code-insiders.yaml b/devspaces-operator-bundle/editors-definitions/che-code-insiders.yaml
deleted file mode 100644
index 9ce0b1b6fb..0000000000
--- a/devspaces-operator-bundle/editors-definitions/che-code-insiders.yaml
+++ /dev/null
@@ -1,145 +0,0 @@
-#
-# Copyright (c) 2019-2024 Red Hat, Inc.
-# This program and the accompanying materials are made
-# available under the terms of the Eclipse Public License 2.0
-# which is available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Red Hat, Inc. - initial API and implementation
-#
-
-schemaVersion: 2.2.2
-metadata:
- name: che-code
- displayName: VS Code - Open Source
- description: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che - Insiders
- build
- tags:
- - Tech-Preview
- attributes:
- publisher: che-incubator
- version: insiders
- title: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che - Insiders
- build
- repository: https://github.com/che-incubator/che-code
- firstPublicationDate: '2021-10-31'
- iconMediatype: image/svg+xml
- iconData: |
-
-commands:
- - id: init-container-command
- apply:
- component: che-code-injector
- - id: init-che-code-command
- exec:
- component: che-code-runtime-description
- commandLine: nohup /checode/entrypoint-volume.sh > /checode/entrypoint-logs.txt
- 2>&1 &
-events:
- preStart:
- - init-container-command
- postStart:
- - init-che-code-command
-components:
- - name: che-code-injector
- container:
- image: quay.io/che-incubator/che-code:insiders
- command:
- - /entrypoint-init-container.sh
- volumeMounts:
- - name: checode
- path: /checode
- memoryLimit: 256Mi
- memoryRequest: 32Mi
- cpuLimit: 500m
- cpuRequest: 30m
- - name: che-code-runtime-description
- container:
- image: quay.io/devfile/universal-developer-image:latest
- memoryLimit: 1024Mi
- memoryRequest: 256Mi
- cpuLimit: 500m
- cpuRequest: 30m
- volumeMounts:
- - name: checode
- path: /checode
- endpoints:
- - name: che-code
- attributes:
- type: main
- cookiesAuthEnabled: true
- discoverable: false
- urlRewriteSupported: true
- targetPort: 3100
- exposure: public
- secure: true
- protocol: https
- - name: code-redirect-1
- targetPort: 13131
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: code-redirect-2
- targetPort: 13132
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: code-redirect-3
- targetPort: 13133
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- attributes:
- app.kubernetes.io/component: che-code-runtime
- app.kubernetes.io/part-of: che-code.eclipse.org
- controller.devfile.io/container-contribution: true
- - name: checode
- volume: {}
\ No newline at end of file
diff --git a/devspaces-operator-bundle/editors-definitions/che-idea-latest.yaml b/devspaces-operator-bundle/editors-definitions/che-idea-latest.yaml
deleted file mode 100644
index 9846a7d386..0000000000
--- a/devspaces-operator-bundle/editors-definitions/che-idea-latest.yaml
+++ /dev/null
@@ -1,166 +0,0 @@
-#
-# Copyright (c) 2019-2024 Red Hat, Inc.
-# This program and the accompanying materials are made
-# available under the terms of the Eclipse Public License 2.0
-# which is available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Red Hat, Inc. - initial API and implementation
-#
-
-schemaVersion: 2.2.2
-metadata:
- name: che-idea
- displayName: IntelliJ IDEA Community
- description: JetBrains IntelliJ IDEA Community IDE for Eclipse Che
- tags:
- - Tech-Preview
- attributes:
- publisher: che-incubator
- version: latest
- title: JetBrains IntelliJ IDEA Community IDE for Eclipse Che
- repository: https://github.com/che-incubator/jetbrains-editor-images
- firstPublicationDate: '2022-01-11'
- iconMediatype: image/svg+xml
- iconData: |
-
-commands:
- - id: init-container-command
- apply:
- component: che-idea-injector
- - id: init-che-idea-command
- exec:
- component: che-idea-runtime-description
- commandLine: nohup /projector/entrypoint-volume.sh > /projector/entrypoint-logs.txt
- 2>&1 &
-events:
- preStart:
- - init-container-command
- postStart:
- - init-che-idea-command
-components:
- - name: che-idea-runtime-description
- container:
- image: quay.io/devfile/universal-developer-image:latest
- env:
- - name: PROJECTOR_ASSEMBLY_DIR
- value: /projector
- - name: PROJECTOR_CONFIG_DIR
- value: /home/user/.jetbrains
- volumeMounts:
- - name: projector-volume
- path: /projector
- - name: projector-configuration
- path: /home/user/.jetbrains
- - name: projector-java-configuration
- path: /home/user/.java
- memoryLimit: 6144Mi
- memoryRequest: 2048Mi
- cpuLimit: 2000m
- cpuRequest: 1500m
- endpoints:
- - name: intellij
- attributes:
- type: main
- cookiesAuthEnabled: true
- discoverable: false
- urlRewriteSupported: true
- targetPort: 8887
- exposure: public
- path: /?backgroundColor=434343&wss
- secure: true
- protocol: https
- - name: intellij-redirect-1
- targetPort: 13131
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: intellij-redirect-2
- targetPort: 13132
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: intellij-redirect-3
- targetPort: 13133
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- attributes:
- app.kubernetes.io/component: che-idea-runtime
- app.kubernetes.io/part-of: che-idea.eclipse.org
- controller.devfile.io/container-contribution: true
- - name: projector-volume
- volume: {}
- - name: projector-configuration
- volume: {}
- - name: projector-java-configuration
- volume: {}
- - name: che-idea-injector
- container:
- image: quay.io/che-incubator/che-idea:latest
- command:
- - /projector/entrypoint-init-container.sh
- env:
- - name: PROJECTOR_VOLUME_MOUNT
- value: /projector-volume
- - name: PROJECTOR_ASSEMBLY_DIR
- value: /projector
- volumeMounts:
- - name: projector-volume
- path: /projector-volume
- memoryLimit: 128Mi
- memoryRequest: 32Mi
- cpuLimit: 500m
- cpuRequest: 30m
\ No newline at end of file
diff --git a/devspaces-operator-bundle/editors-definitions/che-idea-next.yaml b/devspaces-operator-bundle/editors-definitions/che-idea-next.yaml
deleted file mode 100644
index 7d662a09f9..0000000000
--- a/devspaces-operator-bundle/editors-definitions/che-idea-next.yaml
+++ /dev/null
@@ -1,166 +0,0 @@
-#
-# Copyright (c) 2019-2024 Red Hat, Inc.
-# This program and the accompanying materials are made
-# available under the terms of the Eclipse Public License 2.0
-# which is available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Red Hat, Inc. - initial API and implementation
-#
-
-schemaVersion: 2.2.2
-metadata:
- name: che-idea
- displayName: IntelliJ IDEA Community
- description: JetBrains IntelliJ IDEA Community IDE for Eclipse Che - next
- tags:
- - Tech-Preview
- attributes:
- publisher: che-incubator
- version: next
- title: JetBrains IntelliJ IDEA Community IDE for Eclipse Che - next
- repository: https://github.com/che-incubator/jetbrains-editor-images
- firstPublicationDate: '2022-01-11'
- iconMediatype: image/svg+xml
- iconData: |
-
-commands:
- - id: init-container-command
- apply:
- component: che-idea-injector
- - id: init-che-idea-command
- exec:
- component: che-idea-runtime-description
- commandLine: nohup /projector/entrypoint-volume.sh > /projector/entrypoint-logs.txt
- 2>&1 &
-events:
- preStart:
- - init-container-command
- postStart:
- - init-che-idea-command
-components:
- - name: che-idea-runtime-description
- container:
- image: quay.io/devfile/universal-developer-image:latest
- env:
- - name: PROJECTOR_ASSEMBLY_DIR
- value: /projector
- - name: PROJECTOR_CONFIG_DIR
- value: /home/user/.jetbrains
- volumeMounts:
- - name: projector-volume
- path: /projector
- - name: projector-configuration
- path: /home/user/.jetbrains
- - name: projector-java-configuration
- path: /home/user/.java
- memoryLimit: 6144Mi
- memoryRequest: 2048Mi
- cpuLimit: 2000m
- cpuRequest: 1500m
- endpoints:
- - name: intellij
- attributes:
- type: main
- cookiesAuthEnabled: true
- discoverable: false
- urlRewriteSupported: true
- targetPort: 8887
- exposure: public
- path: /?backgroundColor=434343&wss
- secure: true
- protocol: https
- - name: intellij-redirect-1
- targetPort: 13131
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: intellij-redirect-2
- targetPort: 13132
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: intellij-redirect-3
- targetPort: 13133
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- attributes:
- app.kubernetes.io/component: che-idea-runtime
- app.kubernetes.io/part-of: che-idea.eclipse.org
- controller.devfile.io/container-contribution: true
- - name: projector-volume
- volume: {}
- - name: projector-configuration
- volume: {}
- - name: projector-java-configuration
- volume: {}
- - name: che-idea-injector
- container:
- image: quay.io/che-incubator/che-idea:next
- command:
- - /projector/entrypoint-init-container.sh
- env:
- - name: PROJECTOR_VOLUME_MOUNT
- value: /projector-volume
- - name: PROJECTOR_ASSEMBLY_DIR
- value: /projector
- volumeMounts:
- - name: projector-volume
- path: /projector-volume
- memoryLimit: 128Mi
- memoryRequest: 32Mi
- cpuLimit: 500m
- cpuRequest: 30m
\ No newline at end of file
diff --git a/devspaces-operator-bundle/editors-definitions/che-idea-server-latest.yaml b/devspaces-operator-bundle/editors-definitions/che-idea-server-latest.yaml
deleted file mode 100644
index ebb57d670f..0000000000
--- a/devspaces-operator-bundle/editors-definitions/che-idea-server-latest.yaml
+++ /dev/null
@@ -1,126 +0,0 @@
-#
-# Copyright (c) 2019-2024 Red Hat, Inc.
-# This program and the accompanying materials are made
-# available under the terms of the Eclipse Public License 2.0
-# which is available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Red Hat, Inc. - initial API and implementation
-#
-
-schemaVersion: 2.2.2
-metadata:
- name: che-idea-server
- displayName: IntelliJ IDEA Ultimate (desktop)
- description: JetBrains IntelliJ IDEA Ultimate dev server for Eclipse Che - latest
- tags:
- - Tech-Preview
- attributes:
- publisher: che-incubator
- version: latest
- title: JetBrains IntelliJ IDEA Ultimate dev server for Eclipse Che - latest
- repository: https://github.com/che-incubator/che-idea-dev-server
- firstPublicationDate: '2023-30-11'
- iconMediatype: image/svg+xml
- iconData: |
-
-commands:
- - id: inject-editor
- apply:
- component: editor-injector
- - id: start-idea-server
- exec:
- component: editor-runtime
- commandLine: nohup /idea-server/entrypoint-volume.sh > /idea-server/std.out
- 2>&1 &
-events:
- preStart:
- - inject-editor
- postStart:
- - start-idea-server
-components:
- - name: idea-server
- volume: {}
- - name: editor-injector
- container:
- image: quay.io/che-incubator/che-idea-dev-server:latest
- command:
- - /entrypoint-init-container.sh
- volumeMounts:
- - name: idea-server
- path: /idea-server
- memoryLimit: 256Mi
- memoryRequest: 32Mi
- cpuLimit: 500m
- cpuRequest: 30m
- - name: editor-runtime
- container:
- image: quay.io/devfile/universal-developer-image:latest
- memoryLimit: 6144Mi
- memoryRequest: 2048Mi
- cpuLimit: 2000m
- cpuRequest: 1500m
- volumeMounts:
- - name: idea-server
- path: /idea-server
- endpoints:
- - name: idea-server
- attributes:
- type: main
- cookiesAuthEnabled: true
- discoverable: false
- urlRewriteSupported: true
- targetPort: 3400
- exposure: public
- secure: true
- protocol: https
- attributes:
- app.kubernetes.io/component: editor-runtime
- app.kubernetes.io/part-of: idea-server.eclipse.org
- controller.devfile.io/container-contribution: true
\ No newline at end of file
diff --git a/devspaces-operator-bundle/editors-definitions/che-idea-server-next.yaml b/devspaces-operator-bundle/editors-definitions/che-idea-server-next.yaml
deleted file mode 100644
index 87faca609a..0000000000
--- a/devspaces-operator-bundle/editors-definitions/che-idea-server-next.yaml
+++ /dev/null
@@ -1,126 +0,0 @@
-#
-# Copyright (c) 2019-2024 Red Hat, Inc.
-# This program and the accompanying materials are made
-# available under the terms of the Eclipse Public License 2.0
-# which is available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Red Hat, Inc. - initial API and implementation
-#
-
-schemaVersion: 2.2.2
-metadata:
- name: che-idea-server
- displayName: IntelliJ IDEA Ultimate (desktop)
- description: JetBrains IntelliJ IDEA Ultimate dev server for Eclipse Che - next
- tags:
- - Tech-Preview
- attributes:
- publisher: che-incubator
- version: next
- title: JetBrains IntelliJ IDEA Ultimate dev server for Eclipse Che - next
- repository: https://github.com/che-incubator/che-idea-dev-server
- firstPublicationDate: '2023-30-11'
- iconMediatype: image/svg+xml
- iconData: |
-
-commands:
- - id: inject-editor
- apply:
- component: editor-injector
- - id: start-idea-server
- exec:
- component: editor-runtime
- commandLine: nohup /idea-server/entrypoint-volume.sh > /idea-server/std.out
- 2>&1 &
-events:
- preStart:
- - inject-editor
- postStart:
- - start-idea-server
-components:
- - name: idea-server
- volume: {}
- - name: editor-injector
- container:
- image: quay.io/che-incubator/che-idea-dev-server:next
- command:
- - /entrypoint-init-container.sh
- volumeMounts:
- - name: idea-server
- path: /idea-server
- memoryLimit: 256Mi
- memoryRequest: 32Mi
- cpuLimit: 500m
- cpuRequest: 30m
- - name: editor-runtime
- container:
- image: quay.io/devfile/universal-developer-image:latest
- memoryLimit: 6144Mi
- memoryRequest: 2048Mi
- cpuLimit: 2000m
- cpuRequest: 1500m
- volumeMounts:
- - name: idea-server
- path: /idea-server
- endpoints:
- - name: idea-server
- attributes:
- type: main
- cookiesAuthEnabled: true
- discoverable: false
- urlRewriteSupported: true
- targetPort: 3400
- exposure: public
- secure: true
- protocol: https
- attributes:
- app.kubernetes.io/component: editor-runtime
- app.kubernetes.io/part-of: idea-server.eclipse.org
- controller.devfile.io/container-contribution: true
\ No newline at end of file
diff --git a/devspaces-operator/build/scripts/digestExcludeList b/devspaces-operator/build/scripts/digestExcludeList
index 9cd68c5d12..e69de29bb2 100644
--- a/devspaces-operator/build/scripts/digestExcludeList
+++ b/devspaces-operator/build/scripts/digestExcludeList
@@ -1,5 +0,0 @@
-quay.io/eclipse/che-theia:next
-quay.io/eclipse/che-theia-dev:next
-quay.io/eclipse/che-theia-endpoint-runtime-binary:next
-quay.io/eclipse/che-sidecar-workspace-data-sync:latest
-quay.io/eclipse/che-machine-exec:nightly
diff --git a/devspaces-operator/build/scripts/dockerContainerExtract.sh b/devspaces-operator/build/scripts/dockerContainerExtract.sh
index 56fdaa0e31..096ce9091f 100755
--- a/devspaces-operator/build/scripts/dockerContainerExtract.sh
+++ b/devspaces-operator/build/scripts/dockerContainerExtract.sh
@@ -5,7 +5,6 @@ if [[ ! $1 ]]; then
echo "Usage: $0 CONTAINER [tar-extraction-flags]"
echo "Usage: $0 quay.io/devspaces/devspaces-operator-bundle:latest"
echo "Usage: $0 quay.io/devspaces/devfileregistry-rhel8:latest var/www/html/*/external_images.txt"
- echo "Usage: $0 quay.io/devspaces/pluginregistry-rhel8:latest var/www/html/*/external_images.txt"
exit
fi
diff --git a/devspaces-operator/build/scripts/images.sh b/devspaces-operator/build/scripts/images.sh
index 164c75278c..dfcabc00ae 100755
--- a/devspaces-operator/build/scripts/images.sh
+++ b/devspaces-operator/build/scripts/images.sh
@@ -18,13 +18,6 @@ setOperatorImage() {
OPERATOR_IMAGE=$(yq -r '.spec.install.spec.deployments[].spec.template.spec.containers[].image' "${CSV}")
}
-setPluginRegistryList() {
- registry=$(yq -r '.spec.install.spec.deployments[].spec.template.spec.containers[].env[] | select(.name | test("RELATED_IMAGE_.*plugin_registry"; "g")) | .value' "${CSV}")
- setRegistryImages "${registry}"
-
- PLUGIN_REGISTRY_LIST=${registryImages}
-}
-
setDevfileRegistryList() {
registry=$(yq -r '.spec.install.spec.deployments[].spec.template.spec.containers[].env[] | select(.name | test("RELATED_IMAGE_.*devfile_registry"; "g")) | .value' "${CSV}")
diff --git a/devspaces-operator/build/scripts/sync-che-operator.sh b/devspaces-operator/build/scripts/sync-che-operator.sh
index 1b923d2b93..0e9a45ce9f 100755
--- a/devspaces-operator/build/scripts/sync-che-operator.sh
+++ b/devspaces-operator/build/scripts/sync-che-operator.sh
@@ -68,6 +68,13 @@ UDI_IMAGE="registry.redhat.io/devspaces/udi-rhel8@${UDI_IMAGE_TAG}"
RBAC_PROXY_IMAGE="registry.redhat.io/openshift4/ose-kube-rbac-proxy:${OPENSHIFT_TAG}"
OAUTH_PROXY_IMAGE="registry.redhat.io/openshift4/ose-oauth-proxy:${OPENSHIFT_TAG}"
+CODE_IMAGE_VERSION_ZZZ=$(skopeo inspect docker://quay.io/devspaces/code-rhel8:${DS_VERSION} | yq -r '.RepoTags' | sort -uV | grep -v "source" | grep "${DS_VERSION}-" | grep -E -v "\.[0-9]{10}" | tr -d '", ' | tail -1)
+CODE_IMAGE_DIGEST=$(skopeo inspect docker://quay.io/devspaces/code-rhel8:${CODE_IMAGE_VERSION_ZZZ} | yq -r '.Digest')
+CODE_IMAGE="registry.redhat.io/devspaces/code-rhel8@${CODE_IMAGE_DIGEST}"
+IDEA_IMAGE_VERSION_ZZZ=$(skopeo inspect docker://quay.io/devspaces/idea-rhel8:${DS_VERSION} | yq -r '.RepoTags' | sort -uV | grep "${DS_VERSION}-" | grep -E -v "\.[0-9]{10}" | tr -d '", ' | tail -1)
+IDEA_IMAGE_DIGEST=$(skopeo inspect docker://quay.io/devspaces/idea-rhel8:${IDEA_IMAGE_VERSION_ZZZ} | yq -r '.Digest')
+IDEA_IMAGE="registry.redhat.io/devspaces/idea-rhel8@${IDEA_IMAGE_DIGEST}"
+
# global / generic changes
pushd "${SOURCEDIR}" >/dev/null
COPY_FOLDERS="api bundle config controllers hack pkg vendor version"
@@ -250,6 +257,15 @@ if [[ $oldImage ]]; then
fi
echo "Converted (yq #2) ${OPERATOR_DEPLOYMENT_YAML}"
+# https://github.com/eclipse-che/che/issues/22932
+yq -riY "del(.spec.install.spec.deployments[].spec.template.spec.containers[0].env[] | select(.name | test(\"^RELATED_IMAGE_editor_definition_\")))" "${OPERATOR_DEPLOYMENT_YAML}"
+echo "Converted (yq #3) ${OPERATOR_DEPLOYMENT_YAML}"
+
+yq -riY "(.components[] | select(.name==\"che-code-injector\") | .container.image)=\"${CODE_IMAGE}\"" "${TARGETDIR}/editors-definitions/che-code.yaml"
+yq -riY "(.components[] | select(.name==\"che-code-runtime-description\") | .container.image)=\"${UBI_IMAGE}\"" "${TARGETDIR}/editors-definitions/che-code.yaml"
+yq -riY "(.components[] | select(.name==\"idea-rhel8-injector\") | .container.image)=\"${IDEA_IMAGE}\"" "${TARGETDIR}/editors-definitions/che-idea.yaml"
+yq -riY "(.components[] | select(.name==\"idea-rhel8\") | .container.image)=\"${UBI_IMAGE}\"" "${TARGETDIR}/editors-definitions/che-idea.yaml"
+
# if sort the file, we'll lose all the comments
yq -yY '.spec.template.spec.containers[0].env |= sort_by(.name)' "${TARGETDIR}/${OPERATOR_DEPLOYMENT_YAML}" > "${TARGETDIR}/${OPERATOR_DEPLOYMENT_YAML}2"
echo "${COPYRIGHT}$(cat "${TARGETDIR}/${OPERATOR_DEPLOYMENT_YAML}2")" > "${TARGETDIR}/${OPERATOR_DEPLOYMENT_YAML}"
diff --git a/devspaces-operator/build/scripts/sync.sh b/devspaces-operator/build/scripts/sync.sh
index f8d9c48d24..a68ccab1da 100755
--- a/devspaces-operator/build/scripts/sync.sh
+++ b/devspaces-operator/build/scripts/sync.sh
@@ -61,6 +61,7 @@ echo ".github/
.ci/
.vscode/
build/
+editors-definitions/
devfiles.yaml
/container.yaml
/content_sets.*
diff --git a/devspaces-operator/editors-definitions/che-code-insiders.yaml b/devspaces-operator/editors-definitions/che-code-insiders.yaml
deleted file mode 100644
index 9ce0b1b6fb..0000000000
--- a/devspaces-operator/editors-definitions/che-code-insiders.yaml
+++ /dev/null
@@ -1,145 +0,0 @@
-#
-# Copyright (c) 2019-2024 Red Hat, Inc.
-# This program and the accompanying materials are made
-# available under the terms of the Eclipse Public License 2.0
-# which is available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Red Hat, Inc. - initial API and implementation
-#
-
-schemaVersion: 2.2.2
-metadata:
- name: che-code
- displayName: VS Code - Open Source
- description: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che - Insiders
- build
- tags:
- - Tech-Preview
- attributes:
- publisher: che-incubator
- version: insiders
- title: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che - Insiders
- build
- repository: https://github.com/che-incubator/che-code
- firstPublicationDate: '2021-10-31'
- iconMediatype: image/svg+xml
- iconData: |
-
-commands:
- - id: init-container-command
- apply:
- component: che-code-injector
- - id: init-che-code-command
- exec:
- component: che-code-runtime-description
- commandLine: nohup /checode/entrypoint-volume.sh > /checode/entrypoint-logs.txt
- 2>&1 &
-events:
- preStart:
- - init-container-command
- postStart:
- - init-che-code-command
-components:
- - name: che-code-injector
- container:
- image: quay.io/che-incubator/che-code:insiders
- command:
- - /entrypoint-init-container.sh
- volumeMounts:
- - name: checode
- path: /checode
- memoryLimit: 256Mi
- memoryRequest: 32Mi
- cpuLimit: 500m
- cpuRequest: 30m
- - name: che-code-runtime-description
- container:
- image: quay.io/devfile/universal-developer-image:latest
- memoryLimit: 1024Mi
- memoryRequest: 256Mi
- cpuLimit: 500m
- cpuRequest: 30m
- volumeMounts:
- - name: checode
- path: /checode
- endpoints:
- - name: che-code
- attributes:
- type: main
- cookiesAuthEnabled: true
- discoverable: false
- urlRewriteSupported: true
- targetPort: 3100
- exposure: public
- secure: true
- protocol: https
- - name: code-redirect-1
- targetPort: 13131
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: code-redirect-2
- targetPort: 13132
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: code-redirect-3
- targetPort: 13133
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- attributes:
- app.kubernetes.io/component: che-code-runtime
- app.kubernetes.io/part-of: che-code.eclipse.org
- controller.devfile.io/container-contribution: true
- - name: checode
- volume: {}
\ No newline at end of file
diff --git a/devspaces-operator/editors-definitions/che-code-latest.yaml b/devspaces-operator/editors-definitions/che-code-latest.yaml
deleted file mode 100644
index c65c409516..0000000000
--- a/devspaces-operator/editors-definitions/che-code-latest.yaml
+++ /dev/null
@@ -1,143 +0,0 @@
-#
-# Copyright (c) 2019-2024 Red Hat, Inc.
-# This program and the accompanying materials are made
-# available under the terms of the Eclipse Public License 2.0
-# which is available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Red Hat, Inc. - initial API and implementation
-#
-
-schemaVersion: 2.2.2
-metadata:
- name: che-code
- displayName: VS Code - Open Source
- description: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che
- attributes:
- publisher: che-incubator
- version: latest
- title: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che
- repository: https://github.com/che-incubator/che-code
- firstPublicationDate: '2021-10-31'
- iconMediatype: image/svg+xml
- iconData: |
-
-commands:
- - id: init-container-command
- apply:
- component: che-code-injector
- - id: init-che-code-command
- exec:
- component: che-code-runtime-description
- commandLine: nohup /checode/entrypoint-volume.sh > /checode/entrypoint-logs.txt
- 2>&1 &
-events:
- preStart:
- - init-container-command
- postStart:
- - init-che-code-command
-components:
- - name: che-code-injector
- container:
- image: quay.io/che-incubator/che-code:latest
- command:
- - /entrypoint-init-container.sh
- volumeMounts:
- - name: checode
- path: /checode
- memoryLimit: 256Mi
- memoryRequest: 32Mi
- cpuLimit: 500m
- cpuRequest: 30m
- - name: che-code-runtime-description
- container:
- image: quay.io/devfile/universal-developer-image:latest
- memoryLimit: 1024Mi
- memoryRequest: 256Mi
- cpuLimit: 500m
- cpuRequest: 30m
- volumeMounts:
- - name: checode
- path: /checode
- endpoints:
- - name: che-code
- attributes:
- type: main
- cookiesAuthEnabled: true
- discoverable: false
- urlRewriteSupported: true
- targetPort: 3100
- exposure: public
- secure: true
- protocol: https
- - name: code-redirect-1
- targetPort: 13131
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: code-redirect-2
- targetPort: 13132
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- - name: code-redirect-3
- targetPort: 13133
- exposure: public
- protocol: https
- attributes:
- discoverable: false
- urlRewriteSupported: false
- attributes:
- app.kubernetes.io/component: che-code-runtime
- app.kubernetes.io/part-of: che-code.eclipse.org
- controller.devfile.io/container-contribution: true
- - name: checode
- volume: {}
-attributes:
- version: null
diff --git a/devspaces-operator-bundle/editors-definitions/che-code-latest.yaml b/devspaces-operator/editors-definitions/che-code.yaml
similarity index 90%
rename from devspaces-operator-bundle/editors-definitions/che-code-latest.yaml
rename to devspaces-operator/editors-definitions/che-code.yaml
index c65c409516..170f8be85a 100644
--- a/devspaces-operator-bundle/editors-definitions/che-code-latest.yaml
+++ b/devspaces-operator/editors-definitions/che-code.yaml
@@ -1,26 +1,15 @@
-#
-# Copyright (c) 2019-2024 Red Hat, Inc.
-# This program and the accompanying materials are made
-# available under the terms of the Eclipse Public License 2.0
-# which is available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Red Hat, Inc. - initial API and implementation
-#
-
schemaVersion: 2.2.2
metadata:
name: che-code
displayName: VS Code - Open Source
- description: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che
+ description: Red Hat OpenShift Dev Spaces with Microsoft Visual Studio Code - Open Source IDE
attributes:
publisher: che-incubator
version: latest
- title: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che
+ title: Red Hat OpenShift Dev Spaces with Microsoft Visual Studio Code - Open Source IDE
repository: https://github.com/che-incubator/che-code
- firstPublicationDate: '2021-10-31'
+ firstPublicationDate: '2022-07-19'
+ skipMetaYaml: true
iconMediatype: image/svg+xml
iconData: |