Skip to content

Commit 3b37f96

Browse files
authored
feat: support image building for arm64 (#4228)
Add support for building images for `linux/arm64` to be used when running sessions at CSCS. Other changes include support for storing the `platform` of resource pools and for getting `platform` information about container images. These changes help support users who want to run sessions on `linux/arm64`.
1 parent cd37bed commit 3b37f96

4 files changed

Lines changed: 42 additions & 13 deletions

File tree

helm-chart/renku/requirements.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ dependencies:
1818
condition: enableV1Services
1919
- name: amalthea
2020
repository: "https://swissdatasciencecenter.github.io/helm-charts/"
21-
version: "0.22.0"
21+
version: "0.22.1"
2222
condition: enableV1Services
2323
- name: amalthea-sessions
2424
repository: "https://swissdatasciencecenter.github.io/helm-charts/"
25-
version: "0.22.0"
25+
version: "0.22.1"
2626
- name: dlf-chart
2727
repository: "https://swissdatasciencecenter.github.io/datashim/"
2828
version: "0.3.9-renku-2"

helm-chart/renku/templates/data-service/deployment.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,10 @@ spec:
132132
value: {{ .Values.dataService.imageBuilders.enabled | quote }}
133133
- name: BUILD_OUTPUT_IMAGE_PREFIX
134134
value: {{ .Values.dataService.imageBuilders.outputImagePrefix | default "" | quote }}
135-
- name: BUILD_VSCODIUM_PYTHON_RUN_IMAGE
136-
value: {{ .Values.dataService.imageBuilders.vscodiumPythonRunImage | default "" | quote }}
135+
- name: BUILD_BUILDER_IMAGE
136+
value: {{ .Values.dataService.imageBuilders.builderImage | default "" | quote }}
137+
- name: BUILD_RUN_IMAGE
138+
value: {{ .Values.dataService.imageBuilders.runImage | default "" | quote }}
137139
- name: BUILD_STRATEGY_NAME
138140
value: {{ .Values.dataService.imageBuilders.strategyName | default "" | quote }}
139141
- name: BUILD_PUSH_SECRET_NAME
@@ -152,6 +154,10 @@ spec:
152154
- name: BUILD_NODE_TOLERATIONS
153155
value: {{ toJson . | quote }}
154156
{{- end }}
157+
{{- with .Values.dataService.imageBuilders.platformOverrides }}
158+
- name: BUILD_PLATFORM_OVERRIDES
159+
value: {{ toJson . | quote }}
160+
{{- end }}
155161
- name: V1_SESSIONS_ENABLED
156162
value: {{ .Values.ui.client.supportLegacySessions | default false | quote }}
157163
- name: ENABLE_INTERNAL_GITLAB

helm-chart/renku/values.yaml

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -581,7 +581,7 @@ ui:
581581
replicaCount: 1
582582
image:
583583
repository: renku/renku-ui
584-
tag: "4.12.0"
584+
tag: "4.13.0"
585585
pullPolicy: IfNotPresent
586586
## Optionally specify an array of imagePullSecrets.
587587
## Secrets must be manually created in the namespace.
@@ -765,7 +765,7 @@ ui:
765765
keepCookies: []
766766
image:
767767
repository: renku/renku-ui-server
768-
tag: "4.12.0"
768+
tag: "4.13.0"
769769
pullPolicy: IfNotPresent
770770
imagePullSecrets: []
771771
nameOverride: ""
@@ -1474,18 +1474,18 @@ dataService:
14741474
create: true
14751475
image:
14761476
repository: renku/renku-data-service
1477-
tag: "0.61.0"
1477+
tag: "0.62.0"
14781478
pullPolicy: IfNotPresent
14791479
k8sWatcher:
14801480
image:
14811481
repository: renku/data-service-k8s-watcher
1482-
tag: "0.61.0"
1482+
tag: "0.62.0"
14831483
pullPolicy: IfNotPresent
14841484
resources: {}
14851485
dataTasks:
14861486
image:
14871487
repository: renku/data-service-data-tasks
1488-
tag: "0.61.0"
1488+
tag: "0.62.0"
14891489
pullPolicy: IfNotPresent
14901490
resources: {}
14911491
service:
@@ -1523,10 +1523,30 @@ dataService:
15231523
enabled: false
15241524
## The container image prefix for images built from code
15251525
outputImagePrefix: harbor.dev.renku.ch/renku-build/
1526-
## The run image used for Python + VSCodium images
1527-
vscodiumPythonRunImage: renku/renkulab-vscodium-python-runimage:ubuntu-59fcea4
1526+
## The builder image (see https://buildpacks.io/docs/for-platform-operators/concepts/builder/)
1527+
builderImage: "ghcr.io/swissdatasciencecenter/renku-frontend-buildpacks/selector:0.2.2"
1528+
## The run image (see https://buildpacks.io/docs/for-platform-operators/concepts/base-images/)
1529+
runImage: "ghcr.io/swissdatasciencecenter/renku-frontend-buildpacks/run-image:0.2.2"
15281530
## The name of the BuildStrategy to use for image builds.
1529-
strategyName: renku-buildpacks
1531+
strategyName: renku-buildpacks-v3
1532+
## Configuration overrides for specific target platforms
1533+
platformOverrides: {}
1534+
# linux/arm64:
1535+
# builderImage: "ghcr.io/swissdatasciencecenter/renku-frontend-buildpacks/cuda-selector:0.2.2"
1536+
# runImage: "ghcr.io/swissdatasciencecenter/renku-frontend-buildpacks/cuda-run-image:0.2.2"
1537+
# strategyName: renku-buildpacks-v3
1538+
# nodeSelector:
1539+
# kubernetes.io/arch: arm64
1540+
# renku.io/node-purpose: image-build
1541+
# tolerations:
1542+
# - effect: NoSchedule
1543+
# key: renku.io/dedicated
1544+
# operator: Equal
1545+
# value: image-build
1546+
# - effect: NoSchedule
1547+
# key: renku.io/arch
1548+
# operator: Equal
1549+
# value: arm64
15301550
## The name of the secret used to push images built from code.
15311551
pushSecretName: renku-build-docker-secret
15321552
## The TTL for BuildRuns
@@ -1583,7 +1603,7 @@ authz:
15831603
secretsStorage:
15841604
image:
15851605
repository: renku/secrets-storage
1586-
tag: "0.61.0"
1606+
tag: "0.62.0"
15871607
pullPolicy: IfNotPresent
15881608
service:
15891609
type: ClusterIP

helm-chart/values.yaml.changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ Please follow this convention when adding a new row
1111
Legacy (v1) services are now deprecated in Renku and version 2.11 is the last Renku
1212
release where legacy services can be enabled. In the next Renku release (2.12),
1313
the `enableV1Services` chart value will be removed.
14+
* NEW `dataService.imageBuilders.builderImage`, sets the builder image used for Renku builds.
15+
* NEW `dataService.imageBuilders.runImage`, sets the run image used for Renku builds.
16+
* DELETE `dataService.imageBuilders.vscodiumPythonRunImage`, as it is replaced by `dataService.imageBuilders.runImage`.
1417

1518
## Upgrading to Renku 2.9.0
1619

0 commit comments

Comments
 (0)