Skip to content

Conversation

@leafty
Copy link
Member

@leafty leafty commented Sep 16, 2025

Handles git repositories for remote sessions.

  1. The git repositories are collected in the remote session controller from the RENKU_WORKING_DIR folder
  2. The git repositories are configured in the remote session job

PR stack:

leafty and others added 30 commits September 1, 2025 13:25
This changes the k8s resource name for sessions to be `HpcAmaltheaSession`. It is done to allow for experimenting with the session CRD without impacting parallel work on sessions.

This commit should be removed or reverted before the feature PR #984 is merged.
This change adds a new `location` field on the Amalthea session CRD which has two accepted values:
* `local`: the interactive session process runs inside the session pod
* `remote`: the interactive session process runs remotely and is controlled from the session pod
    Remote sessions are first implemented to support running sessions in HPC environments, though this can be generalized to many environment types.
    
Only the `location` field is added, no further change is contained here.
* experimental: remote sessions

* update

* fix types

* error formatting

* remove 'not implemented error'

* exp: use a dev name for sessions

* update

* fix e2e?

* revert non-important changes

* rerun some make targets

* feat: support remote sessions on HPC clusters

Closes #983.

_Feature branch_

* exp: use a dev name for sessions

* more updates

* feat: support remote sessions on HPC clusters

Closes #983.

_Feature branch_

* feat: install wstunnel in sidecars

* feat: add tunnel using wstunnel and os.exec.Command

* feat: add tunnel command to sidecars

* feat: basic testing of tunnel in sidecars

* refactor: use TARGETOS and TARGETARCH instead of WSTUNNEL_PLATFORM

* update

* fix e2e?

* feat: support remote sessions on HPC clusters

Closes #983.

_Feature branch_

* feat: support remote sessions on HPC clusters

Closes #983.

_Feature branch_

* Revert chartpress e2e leftovers

---------

Co-authored-by: Flora Thiebaut <flora.thiebaut@sdsc.ethz.ch>
@leafty leafty marked this pull request as ready for review September 29, 2025 12:59
@leafty leafty requested review from a team and olevski as code owners September 29, 2025 12:59
leafty and others added 7 commits September 30, 2025 09:42
This changes the k8s resource name for sessions to be `HpcAmaltheaSession`. It is done to allow for experimenting with the session CRD without impacting parallel work on sessions.

This commit should be removed or reverted before the feature PR #984 is merged.
This change adds a new `location` field on the Amalthea session CRD which has two accepted values:
* `local`: the interactive session process runs inside the session pod
* `remote`: the interactive session process runs remotely and is controlled from the session pod
    Remote sessions are first implemented to support running sessions in HPC environments, though this can be generalized to many environment types.
    
Only the `location` field is added, no further change is contained here.
* experimental: remote sessions

* update

* fix types

* error formatting

* remove 'not implemented error'

* exp: use a dev name for sessions

* update

* fix e2e?

* revert non-important changes

* rerun some make targets

* feat: support remote sessions on HPC clusters

Closes #983.

_Feature branch_

* exp: use a dev name for sessions

* more updates

* feat: support remote sessions on HPC clusters

Closes #983.

_Feature branch_

* feat: install wstunnel in sidecars

* feat: add tunnel using wstunnel and os.exec.Command

* feat: add tunnel command to sidecars

* feat: basic testing of tunnel in sidecars

* refactor: use TARGETOS and TARGETARCH instead of WSTUNNEL_PLATFORM

* update

* fix e2e?

* feat: support remote sessions on HPC clusters

Closes #983.

_Feature branch_

* feat: support remote sessions on HPC clusters

Closes #983.

_Feature branch_

* Revert chartpress e2e leftovers

---------

Co-authored-by: Flora Thiebaut <flora.thiebaut@sdsc.ethz.ch>
Add the remote session controller sidecar command and start it in the amalthea session.
Runs the tunnel container in remote sessions and setup the HPC job to connect to it. This allows remote HPC sessions to start and have their frontend accessible.

Co-authored-by: Salim Kayal <salim.kayal@idiap.ch>
@leafty leafty force-pushed the build/support-remote-sessions-hpc branch from 4070212 to 2eea81e Compare September 30, 2025 07:43
@leafty leafty force-pushed the build/support-remote-sessions-hpc branch from 2eea81e to a87a3cb Compare September 30, 2025 14:23
@leafty leafty requested a review from SalimKayal October 1, 2025 13:12
Copy link
Collaborator

@SalimKayal SalimKayal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nitpick

@leafty leafty requested a review from SalimKayal October 2, 2025 07:08
Copy link
Member

@olevski olevski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Flora. A few suggestions.

@leafty leafty merged commit e6fd0d9 into build/support-remote-sessions-hpc Oct 3, 2025
17 of 20 checks passed
@leafty leafty deleted the leafty/git-repositories branch October 3, 2025 09:21
leafty added a commit that referenced this pull request Oct 8, 2025
Handles git repositories for remote sessions.

1. The git repositories are collected in the remote session controller from the `RENKU_WORKING_DIR` folder
2. The git repositories are configured in the remote session job

---------

Co-authored-by: Salim Kayal <salim.kayal@idiap.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants