Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# Changelog

## [1.4.1] - 20260509
## [1.4.2] - 20260504
### Changed
- Update version of Jupyter Hub dependency to 4.3.4
- Expose seccompProfile for each profile (default used : RuntimeDefault)

## [1.4.1] - 20260409
### Changed
- Update version of Jupyter Hub dependency to 4.3.3

Expand Down
6 changes: 3 additions & 3 deletions charts/helix/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: jupyterhub
repository: https://hub.jupyter.org/helm-chart/
version: 4.3.3
digest: sha256:8cf556d445dcf22137d10c7e43462a7463893520acc29a1eee4e8af4a869f767
generated: "2026-04-08T11:04:43.649910659+02:00"
version: 4.3.4
digest: sha256:240905ee173bfffbaea0e6859ec1e096bbbc1c76de5691b173c5a60b4e845457
generated: "2026-05-04T14:54:12.795275687+02:00"
4 changes: 2 additions & 2 deletions charts/helix/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: "1.4.1"
version: "1.4.2"

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand All @@ -31,5 +31,5 @@ appVersion: "1.0.0.beta3"
dependencies:
- name: jupyterhub
repository: https://hub.jupyter.org/helm-chart/
version: 4.3.3
version: 4.3.4
condition: jupyterhub.enabled
Binary file removed charts/helix/charts/jupyterhub-4.3.3.tgz
Binary file not shown.
Binary file added charts/helix/charts/jupyterhub-4.3.4.tgz
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,6 @@ async def generate_profile_list(spawner):
'cpu_guarantee': {{- $profile.cpu_guarantee }},
'mem_limit': '{{- $profile.memory_limit }}',
'mem_guarantee': '{{- $profile.memory_guarantee }}',
'pod_security_context':{
'runAsNonRoot': True,
"seccompProfile": {
"type": "RuntimeDefault"
},
},
"container_security_context": {
"allowPrivilegeEscalation": False,
"capabilities": {
"drop": ["ALL"],
},
},
},
},
{{- end }}
Expand All @@ -71,18 +59,6 @@ async def generate_profile_list(spawner):
'cpu_guarantee': {{- $profile.cpu_guarantee }},
'mem_limit': '{{- $profile.memory_limit }}',
'mem_guarantee': '{{- $profile.memory_guarantee }}',
'pod_security_context':{
'runAsNonRoot': True,
"seccompProfile": {
"type": "RuntimeDefault"
},
},
"container_security_context": {
"allowPrivilegeEscalation": False,
"capabilities": {
"drop": ["ALL"],
},
},
},
},
{{- end }}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
seccompProfileType = '{{- .Values.configuration.jupyterhub.singleuser.securityContext.seccompProfile.type | default "RuntimeDefault" }}'
localhostProfile = '{{- .Values.configuration.jupyterhub.singleuser.securityContext.seccompProfile.localhostProfile | default "" }}'

seccompProfile = {
'type': seccompProfileType,
}

if ( seccompProfileType == "Localhost" ):
seccompProfile.update({
'localhostProfile': localhostProfile,
})

c.KubeSpawner.pod_security_context.update({
'runAsNonRoot': True,
'seccompProfile': seccompProfile
})

c.KubeSpawner.container_security_context.update({
'allowPrivilegeEscalation': False,
'capabilities': {
'drop': ['ALL'],
},
})
13 changes: 13 additions & 0 deletions charts/helix/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,19 @@
"type": "integer"
}
}
},
"securityContext": {
"type": "object",
"properties": {
"seccompProfile": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
}
}
}
}
}
}
Expand Down
23 changes: 7 additions & 16 deletions charts/helix/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ configuration:
# @section -- HELIX settings
# @default -- No override of existing Z2JHK8S Chart Configuration.
singleuser:
# Follow specification of the securityContext field in Kubernetes, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ for more details.
securityContext:
seccompProfile:
type: "RuntimeDefault"
# -- This field is only relevant if the type field is set to "Localhost". It should be the name of a file containing a seccomp profile, which must be present in the container image. See https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#configure-the-seccomp-profile for more details.
# localhostProfile: ""

# -- Supports UID/GID manipulation to match custom volume persmisisons
# @section -- HELIX settings
Expand All @@ -39,6 +45,7 @@ configuration:
#- 123
#- 543


# -- Specifies JupyterHub's available profile, containing the notebook's docker images.
# @section -- HELIX settings
# @default -- Single-ser and collaborative profiles fitting an standard context.
Expand Down Expand Up @@ -72,22 +79,6 @@ configuration:
cpu_guarantee: 2.1
memory_limit: "8G"
memory_guarantee: "4G"
- displayName: "Jupyter Minimal Notebook"
slug: "minimal"
image: "quay.io/jupyter/minimal-notebook:latest"
imagePullPolicy: "Always"
cpu_limit: 5.1
cpu_guarantee: 2.1
memory_limit: "8G"
memory_guarantee: "4G"
- displayName: "Jupyter Datascience Notebook"
slug: "datascience"
image: "quay.io/jupyter/datascience-notebook:latest"
imagePullPolicy: "Always"
cpu_limit: 5.1
cpu_guarantee: 2.1
memory_limit: "8G"
memory_guarantee: "4G"

# -- Collaboration profiles, used when a user spawns a collaborative JLab.
# @section -- HELIX settings
Expand Down
Loading