Skip to content

Conversation

@rgrunber
Copy link
Contributor

@rgrunber rgrunber commented Dec 3, 2025

This requires che-incubator/che-code#606 (for the component portion)

The start process works as follows :

  1. che-code-sshd-page component starts and copies all relevant resources (/usr/sbin/sshd, /usr/bin/ssh-keygen, /usr/lib64/libnss_wrapper.so /etc/ssh/sshd_config, sshd.start) into the /sshd volume mount.
  2. che-code-sshd-page waits for existence of a file (/sshd/username) to be created. Once created, it can generate the landing page and instructions
  3. che-code-sshd component configuration gets merged into the tool container and runs the /sshd/sshd.start command from the shared mount. This sets up the SSHD service.
  4. Once the SSHD service is started, the /sshd mount will have the username needed for the landing page connection instructions, and the che-code-sshd-page will open

I've tested ubi8, ubi9, ubi10 images and they seem to work well. Most images based on those should work.

Things left to do :

  • certain images (eg. quay.io/devfile/base-developer-image, quay.io/devfile/universal-developer-image) don't work but there is a solution, I just haven't added yet
  • Test more on various images (find what doesn't work)

@openshift-ci
Copy link

openshift-ci bot commented Dec 3, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: rgrunber

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

The start process works as follows :

1. che-code-sshd-page component starts and copies all relevant resources
   (/usr/sbin/sshd, /usr/bin/ssh-keygen, /usr/lib64/libnss_wrapper.so
   /etc/ssh/sshd_config, sshd.start) into the /sshd volume mount.
2. che-code-sshd-page waits for existence of a file (/sshd/username) to
   be created. Once created, it can generate the landing page and
   instructions
3. che-code-sshd component configuration gets merged into the tool
   container and runs the /sshd/sshd.start command from the shared
   mount. This sets up the SSHD service.
4. Once the SSHD service is started, the /sshd mount will have the
   username needed for the landing page connection instructions, and the
   che-code-sshd-page will open

Signed-off-by: Roland Grunberg <rgrunber@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant