Repository navigation
feat(notebooks): configure proxy-to-session key secret names - #1452
Merged
olevski merged 10 commits intoOct 1, 2026
Merged
Conversation
SalimKayal
added this pull request to stack #1445
September 21, 2026 08:39
Coverage Report for CI Build 36876237189Warning No base build found for commit Coverage: 85.284%Details
Uncovered Changes
Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
SalimKayal
force-pushed
the
salimkayal/feat/ssh-proxy-session-mounts
branch
from
September 24, 2026 09:02
93acfb4 to
2cc5904
Compare
This was referenced Sep 24, 2026
eikek
force-pushed
the
salimkayal/feat/ssh-proxy-session-mounts
branch
from
September 25, 2026 08:37
2cc5904 to
83a697e
Compare
eikek
previously approved these changes
Sep 25, 2026
SalimKayal
force-pushed
the
salimkayal/feat/ssh-proxy-session-mounts
branch
from
September 29, 2026 13:20
83a697e to
0826723
Compare
SalimKayal
removed this pull request from stack #1445
September 29, 2026 14:59
SalimKayal
changed the base branch from
salimkayal/feat/ssh-proxy-service-account-authn
to
salimkayal/feat/ssh-keys_proxy-api
September 29, 2026 15:00
SalimKayal
added this pull request to stack #1465
September 29, 2026 15:05
SalimKayal
force-pushed
the
salimkayal/feat/ssh-proxy-session-mounts
branch
from
September 29, 2026 16:49
0826723 to
6293222
Compare
SalimKayal
force-pushed
the
salimkayal/feat/ssh-keys_proxy-api
branch
from
September 29, 2026 17:46
dfdbe18 to
a9f2a2c
Compare
SalimKayal
force-pushed
the
salimkayal/feat/ssh-proxy-session-mounts
branch
from
September 29, 2026 17:46
6293222 to
3c23bec
Compare
olevski
removed this pull request from stack #1465
September 30, 2026 13:50
olevski
force-pushed
the
salimkayal/feat/ssh-keys_proxy-api
branch
from
September 30, 2026 14:16
a9f2a2c to
c8f21e6
Compare
Base automatically changed from
salimkayal/feat/ssh-keys_proxy-api
to
salimkayal/feat/ssh-keys
October 1, 2026 12:50
* feat: add scicat in api spec * wip: update route post_deposit * wip: add ScicatAPIClient with create/get deposit * wip: add scicat in ProviderKind & update post_deposit for scicat * wip: add scicat in DepositConfig * fix: fix bug in _request_saved_secret_creation * wip: update deposit routes & upload job for scicat * wip: add init-certificates container * wip: update ScicatConfig & metadata for configmap * chore: add __get_scicat_token method * chore: add alembic migration for scicat * fix: update generate_code_verifier * wip: update scicat-cli args & add default_deposit_data * wip: remove unset oidc_issuer_url and remove test_scicat file * chore: remove useless ca_certs init container * wip: small updates * wip: update scicat upload job config & oidc_issuer_url checks * wip: simplify ScicatAPIClient * wip: move fetching deposit data outside of create_deposit_upload * chore: update scicat urls to production * chore: add test file for scicat * fix: fix error with owner reference in _request_saved_secret_creation * fix: handle errors in get_dc_deposit_logs * chore: add test_env var in ScicatConfig * chore: update ScicatAPIClient
olevski
force-pushed
the
salimkayal/feat/ssh-proxy-session-mounts
branch
from
October 1, 2026 13:05
3c23bec to
4f6be2a
Compare
eikek
approved these changes
Oct 1, 2026
olevski
force-pushed
the
salimkayal/feat/ssh-proxy-session-mounts
branch
from
October 1, 2026 14:22
349e5de to
1c4f28f
Compare
olevski
marked this pull request as ready for review
October 1, 2026 14:26
olevski
approved these changes
Oct 1, 2026
eikek
approved these changes
Oct 1, 2026
olevski
pushed a commit
that referenced
this pull request
Oct 2, 2026
olevski
added a commit
that referenced
this pull request
Oct 13, 2026
* feat(users): store ssh keys (#1442) * feat(users): add /user/ssh_keys CRUD API (#1444) * feat: proxy api for ssh keys (#1446) * feat(notebooks): configure proxy-to-session key secret names (#1452) * feat: Add frontend variant as session label (#1455) * feat(notebooks): mount proxy-to-session keys only for ssh frontends (#1458) * feat: return ssh url for sessions with ssh frontend (#1467) Co-authored-by: Tasko Olevski <16360283+olevski@users.noreply.github.com> Co-authored-by: boucherjeanphi <49230173+boucherjeanphi@users.noreply.github.com> Co-authored-by: eikek <701128+eikek@users.noreply.github.com> Co-authored-by: Eike Kettner <eike.kettner@sdsc.ethz.ch>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Mounts the two proxy-to-session key Secrets into every session pod via Amalthea
extraVolumes/extraVolumeMounts, delivering the hop-2 keys the SSH buildpack and the proxy need. Stacked on the service-account authn branch (salimkayal/feat/ssh-proxy-service-account-authn).Motivation and context
Hop 2 is now authenticated with static keypairs (see the
renkuproxy-to-session PR). Each session needs two files at fixed paths under its storage mount: the session host private key (dropbear-r) and the proxy auth public key (installed asauthorized_keysby the buildpack). The Secrets are created once by the Helm keygen Job; data-services only mounts them. No per-session keys, no DB, and no hibernation/resume concern.Behavior
${RENKU_MOUNT_DIR}/.ssh/dropbear_ed25519_host_key(Secret{fullname}-ssh-session-host-key, keyhostKey) and${RENKU_MOUNT_DIR}/.ssh/proxy_auth_key.pub(Secret{fullname}-ssh-proxy-session-auth-key, keyauthKeyPub), both read-onlysubPathfile mounts.Changes
components/renku_data_services/notebooks/config/dynamic.py:proxy_host_key_secret/proxy_auth_key_secreton_SessionSshConfig(envNB_SESSIONS__SSH__PROXY_{HOST,AUTH}_KEY_SECRET).components/renku_data_services/notebooks/core_sessions.py:ssh_proxy_session_extras()builds the twoExtraVolume/ExtraVolumeMountpairs and is concatenated intosession_extrasin bothstart_sessionandpatch_session. The Secrets are referenced viaExtraVolume.secretand deliberately not added tosession_extras.secrets, because data-services must not create them.test/components/renku_data_services/notebooks/test_ssh_proxy_session_extras.py(new): asserts volume names, secret names, items, mount paths/subPaths/readOnly, and the empty case.Notes
NB_SESSIONS__SSH__PROXY_{HOST,AUTH}_KEY_SECRET(session-env-secret.yaml).mountPath, hence thesubPathfile mounts inside.ssh.PR Stack
* feat(notebooks): configure proxy-to-session key secret names #1452
* Add frontend variant as session label #1455
* feat(notebooks): mount proxy-to-session keys only for ssh frontends #1458