Uploaded image for project: 'Red Hat OpenShift Dev Spaces (formerly CodeReady Workspaces) '
  1. Red Hat OpenShift Dev Spaces (formerly CodeReady Workspaces)
  2. CRW-4077

Ensure smooth transition from old default editor (theia or che-code/insiders) to new default che-code/latest

XMLWordPrintable

    • False
    • None
    • False
    • Documentation (Ref Guide, User Guide, etc.), Release Notes, Migration, User Experience
    • Hide
      = Changes to default settings in the CheCluster Custom Resource

      As of this release, some previously hard-coded values in the `CheCluster` Custom Resource have moved to the Operator, so they can be updated automatically when new versions of {prod-short} are released. Default values have also changed in this release, as follows:

      * With the removal of support for Eclipse Theia, the `spec.devEnvironments.defaultEditor` is no longer hard-coded to `che-incubator/che-code/latest`.

      * The `spec.components.pluginRegistry.openVSXURL` is now set to an empty string (`''`), so that the embedded registry is the default instead of `https://open-vsx.org`. This ensures that only the supported and included extensions are available to install in workspaces, for better support of airgapped installations. If you want to use the public registry, change this value in your `CheCluster` Custom Resource.

      * The `spec.components.dashboard.headerMessage`, which previously contained a warning about Eclipse Theia deprecation and future removal, has been removed. Administrators can still use this field to set a warning message for their users' dashboards if needed.

      * To set a limit on the number of workspaces a user can run concurrently, use the new field `spec.devEnvironments.maxNumberOfRunningWorkspacesPerUser`

      * The `spec.devEnvironments.defaultComponents.container.image` is now controlled by the Operator so that updates to the UDI container will be available with each update of {prod-short}.

      [NOTE]
      ====
      Any Eclipse Theia-based workspaces should still work after updating to {prod-short} 3.6 but will not receive updates. Devfiles associated with those workspaces must be updated to remove the Eclipse Theia configuration and must be migrated to use the Microsoft Visual Studio Code - Open Source configuration instead. If your cluster administrator deletes old images from {prod-short} 3.5 or earlier, these existing workspaces will not start.
      ====
      Show
      = Changes to default settings in the CheCluster Custom Resource As of this release, some previously hard-coded values in the `CheCluster` Custom Resource have moved to the Operator, so they can be updated automatically when new versions of {prod-short} are released. Default values have also changed in this release, as follows: * With the removal of support for Eclipse Theia, the `spec.devEnvironments.defaultEditor` is no longer hard-coded to `che-incubator/che-code/latest`. * The `spec.components.pluginRegistry.openVSXURL` is now set to an empty string (`''`), so that the embedded registry is the default instead of ` https://open-vsx.org `. This ensures that only the supported and included extensions are available to install in workspaces, for better support of airgapped installations. If you want to use the public registry, change this value in your `CheCluster` Custom Resource. * The `spec.components.dashboard.headerMessage`, which previously contained a warning about Eclipse Theia deprecation and future removal, has been removed. Administrators can still use this field to set a warning message for their users' dashboards if needed. * To set a limit on the number of workspaces a user can run concurrently, use the new field `spec.devEnvironments.maxNumberOfRunningWorkspacesPerUser` * The `spec.devEnvironments.defaultComponents.container.image` is now controlled by the Operator so that updates to the UDI container will be available with each update of {prod-short}. [NOTE] ==== Any Eclipse Theia-based workspaces should still work after updating to {prod-short} 3.6 but will not receive updates. Devfiles associated with those workspaces must be updated to remove the Eclipse Theia configuration and must be migrated to use the Microsoft Visual Studio Code - Open Source configuration instead. If your cluster administrator deletes old images from {prod-short} 3.5 or earlier, these existing workspaces will not start. ====
    • Enhancement
    • Done

      When updating from an older version of DS 3.x in which theia was the default editor, or from 3.4 where che-code/insiders was the default editor, we need something in place to allow old workspaces and old CheCluster objects to Just Work even though che-code/insiders and che-theia/latest editors are no longer part of DS as of 3.6.

      May require documentation about manual update steps (or a bash script + yaml patch), eg.,

      • user guide: old devfiles/devworkspaces created before 3.5 need to be updated to use che-code/latest
      • admin guide: old CheCluster objects need to be updated to use defaultEditor = che-incubator/che-code/latest

      This may include:
      1) adding an ability to change default editor in CheCluster during the upgrade to DS 3.6 (automatically? migration script to apply yaml transformation?)

      spec:
        devEnvironments:
          defaultEditor: che-incubator/che-code/latest
      

      Also want to update to default to the embedded open-vsx registry (not the public one - see CRW-4117

      spec:
        components:
          pluginRegistry:
            openVSXURL: ''
      

      And, since headerMessage might be changed between releases, we should ensure the latest deprecation/removal warning is applied in the CheCluster too - see PR408 for CRW-3663

      spec:
        components:
          dashboard:
            headerMessage:
              show: "true"
              text: "Microsoft Visual Studio Code - Open Source is the default <a href='https://access.redhat.com/documentation/en-us/red_hat_openshift_dev_spaces/3.6/html-single/user_guide/index#selecting-a-workspace-ide'>editor</a> for new workspaces. Eclipse Theia is <a href='https://access.redhat.com/documentation/en-us/red_hat_openshift_dev_spaces/3.6/html-single/release_notes_and_known_issues/index#removed-functionalities'>no longer supported</a>."
      

      2)

      And there is "runningLimit" field in CR:

      spec:
        components:
          devWorkspace:
            runningLimit: '100'
      

      replaced with "maxNumberOfRunningWorkspacesPerUser", starting from DS 3.5.0 (https://doc.crds.dev/github.com/eclipse-che/che-operator/org.eclipse.che/CheCluster/v2@7.60.0, CRW-3870)

      spec:
        devEnvironments:
          maxNumberOfRunningWorkspacesPerUser: 100
      

      3)

      And there is the problem that the default UDI image is hardcoded in the CRD, which means:

      • freshmaker updates to CSV won't change the hardcoded value – CVE fixes in UDI won't propagate to CheCluster
      • if I install DS 3.4 and don't manually fix my CheCluster to use a newer UDI image (from the latest in the CRD or CSV) I'll always open empty workspaces with the udi-rhel8:3.4 image, not the :3.6 one.
        spec:
          devEnvironments:
              defaultComponents:
                - container:
                    image: >-
                      registry.redhat.io/devspaces/udi-rhel8@sha256:5d17d145844b4e6632aba478c7c66c6c5925cbb64ecf86b2c7083b2dfea6dfcb
        

      This problem could also break people expecting new versions of content in the UDI image, like dotnet 7 or a newer python or node installation. "But the release notes say it's updated – why does my empty workspace not have it?"

      4) dealing with existing che-theia workspaces after an upgrade to DS 3.6, as they won't be able to run – do we convert them?

        1. checluster-devspaces-3.5.0.yaml
          5 kB
          Dmytro Nochevnov
        2. checluster-devspaces-3.6.0.rc-05-09.yaml
          5 kB
          Dmytro Nochevnov

              abazko Anatolii Bazko
              nickboldt Nick Boldt
              Dmytro Nochevnov Dmytro Nochevnov
              Jana Vrbkova Jana Vrbkova
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: