Skip to content

Commit e4a87d4

Browse files
committed
Make platform cron mount OIDC private key, required from platform v26.1
1 parent b0654e9 commit e4a87d4

11 files changed

Lines changed: 73 additions & 15 deletions

charts/platform/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ All notable changes to this chart will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.30.0] - 2026-04-08
9+
10+
### Added
11+
12+
- Mount OIDC private key secret (`connect-cert-volume` at `/data/certs`) on the cron deployment, matching the backend deployment
13+
14+
### Changed
15+
16+
- `TOWER_OIDC_PEM_PATH` moved to the shared backend/cron configmap and is now always set (previously backend-only and only when `studios.enabled=true`); required from Platform v26.1 onwards
17+
- `connect-cert-volume` and `TOWER_OIDC_REGISTRATION_INITIAL_ACCESS_TOKEN` are now always present on the backend deployment (previously only when `studios.enabled=true`); required from Platform v26.1 onwards
18+
819
## [0.29.8] - 2026-04-08
920

1021
### Added

charts/platform/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ type: application
3737
# This is the chart version. This version number should be incremented each time you make changes
3838
# to the chart and its templates, including the app version.
3939
# Versions are expected to follow Semantic Versioning (https://semver.org/)
40-
version: 0.29.8
40+
version: 0.30.0
4141

4242
# This is the version number of the application being deployed. This version number should be
4343
# incremented each time you make changes to the application. Versions are not expected to

charts/platform/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
A Helm chart to deploy Seqera Platform (also referred to as Tower) on Kubernetes.
44

5-
![Version: 0.29.7](https://img.shields.io/badge/Version-0.29.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v25.3.4](https://img.shields.io/badge/AppVersion-v25.3.4-informational?style=flat-square)
5+
![Version: 0.30.0](https://img.shields.io/badge/Version-0.30.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v25.3.4](https://img.shields.io/badge/AppVersion-v25.3.4-informational?style=flat-square)
66

77
> [!WARNING]
88
> This chart is currently still in development and breaking changes are expected.
@@ -41,7 +41,7 @@ To install the chart with the release name `my-release`:
4141

4242
```console
4343
helm install my-release oci://public.cr.seqera.io/charts/platform \
44-
--version 0.29.7 \
44+
--version 0.30.0 \
4545
--namespace my-namespace \
4646
--create-namespace
4747
```

charts/platform/templates/configmap.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ data:
3838
{{- end }}
3939
{{- if .Values.studios.enabled }}
4040
TOWER_DATA_STUDIO_CONNECT_URL: {{ tpl .Values.global.studiosConnectionUrl . | quote }}
41-
TOWER_OIDC_PEM_PATH: /data/certs/oidc.pem
4241
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REGISTRY: {{ .Values.platform.studios.customImageRegistry | quote }}
4342
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REPOSITORY: {{ .Values.platform.studios.customImageRepository | quote }}
4443
{{- include "platform.studios.toolsEnvVars" . | nindent 2 }}
@@ -81,6 +80,8 @@ data:
8180
TOWER_DB_MAX_POOL_SIZE: {{ .Values.platformDatabase.maxPoolSize | toString | quote }}
8281
TOWER_DB_MIN_POOL_SIZE: {{ .Values.platformDatabase.minPoolSize | toString | quote }}
8382

83+
TOWER_OIDC_PEM_PATH: /data/certs/oidc.pem
84+
8485
{{- if .Values.platform.smtp.host }}
8586
TOWER_SMTP_HOST: {{ .Values.platform.smtp.host | quote }}
8687
TOWER_SMTP_PORT: {{ .Values.platform.smtp.port | quote }}

charts/platform/templates/deployment-backend.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,11 @@ spec:
134134
name: {{ include "platform.smtp.secretName" . }}
135135
key: {{ include "platform.smtp.secretKey" . }}
136136
{{- end }}
137-
{{- if .Values.studios.enabled }}
138137
- name: TOWER_OIDC_REGISTRATION_INITIAL_ACCESS_TOKEN
139138
valueFrom:
140139
secretKeyRef:
141140
name: {{ include "platform.oidcToken.secretName" . }}
142141
key: {{ include "platform.oidcToken.secretKey" . }}
143-
{{- end }}
144142
- name: NXF_HOME
145143
value: "/var/cache/tower/"
146144
- name: NXF_PLUGINS_DIR
@@ -164,10 +162,8 @@ spec:
164162
mountPath: /.nextflow/
165163
- name: plugin-volume
166164
mountPath: /?/.nextflow/
167-
{{- if .Values.studios.enabled }}
168165
- name: connect-cert-volume
169166
mountPath: /data/certs
170-
{{- end }}
171167
{{- with .Values.backend.extraVolumeMounts }}
172168
{{- include "seqera.tplvalues.render" (dict "value" . "context" $) | nindent 12 }}
173169
{{- end }}
@@ -193,11 +189,9 @@ spec:
193189
- name: plugin-volume
194190
emptyDir:
195191
sizeLimit: "1Gi"
196-
{{- if .Values.studios.enabled }}
197192
- name: connect-cert-volume
198193
secret:
199194
secretName: {{ include "studios.oidcPrivateKeySecretName" . }}
200-
{{- end }}
201195
{{- with .Values.backend.extraVolumes }}
202196
{{- include "seqera.tplvalues.render" (dict "value" . "context" $) | nindent 8 }}
203197
{{- end }}

charts/platform/templates/deployment-cron.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ spec:
207207
mountPath: /.nextflow/
208208
- name: plugin-volume
209209
mountPath: /?/.nextflow/
210+
- name: connect-cert-volume
211+
mountPath: /data/certs
210212

211213
{{- if .Values.cron.containerSecurityContext.enabled }}
212214
securityContext: {{- omit .Values.cron.containerSecurityContext "enabled" | toYaml | nindent 12 }}
@@ -232,5 +234,8 @@ spec:
232234
- name: plugin-volume
233235
emptyDir:
234236
sizeLimit: "1Gi"
237+
- name: connect-cert-volume
238+
secret:
239+
secretName: {{ include "studios.oidcPrivateKeySecretName" . }}
235240

236241
{{ include "common.images.renderPullSecrets" ( dict "images" (list .Values.cron.image .Values.cron.dbMigrationInitContainer.image) "context" $) | nindent 6 }}

charts/platform/tests/__snapshot__/configmap_test.yaml.snap

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ should render Studios tools environment variables when studios is enabled with d
4040
TOWER_DATA_STUDIO_TEMPLATES_XPRA_TOOL: xpra
4141
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REGISTRY: ""
4242
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REPOSITORY: ""
43-
TOWER_OIDC_PEM_PATH: /data/certs/oidc.pem
4443
kind: ConfigMap
4544
metadata:
4645
annotations: {}
@@ -98,7 +97,6 @@ should render custom Studios tool when provided:
9897
TOWER_DATA_STUDIO_TEMPLATES_XPRA_TOOL: xpra
9998
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REGISTRY: ""
10099
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REPOSITORY: ""
101-
TOWER_OIDC_PEM_PATH: /data/certs/oidc.pem
102100
kind: ConfigMap
103101
metadata:
104102
annotations: {}
@@ -164,7 +162,6 @@ should render custom Studios tool with deprecated and experimental versions when
164162
TOWER_DATA_STUDIO_TEMPLATES_XPRA_TOOL: xpra
165163
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REGISTRY: ""
166164
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REPOSITORY: ""
167-
TOWER_OIDC_PEM_PATH: /data/certs/oidc.pem
168165
kind: ConfigMap
169166
metadata:
170167
annotations: {}

charts/platform/tests/__snapshot__/deployment-backend_test.yaml.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ should render the backend deployment with the correct checksums, labels and anno
225225
template:
226226
metadata:
227227
annotations:
228-
checksum/configmap: d033ec97fa9bed7b2c101fadd02d9280d309f8cbef93d7fd08363c4050d55d58
228+
checksum/configmap: e7c0ce8f1a70f6f66b6154ca92968c09dbf32a11e3a960143e9d2bd91e1525d7
229229
checksum/secret: d3b5ca20c437b2faa4af1b549c817ee78cc2a992f86741120f01bd93a30d4873
230230
common-annotation-key: common-annotation-value
231231
pod-annotation-key: pod-annotation-value

charts/platform/tests/__snapshot__/deployment-cron_test.yaml.snap

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ should produce a Deployment resource with minimal values:
6969
name: plugin-volume
7070
- mountPath: /?/.nextflow/
7171
name: plugin-volume
72+
- mountPath: /data/certs
73+
name: connect-cert-volume
7274
initContainers:
7375
- command:
7476
- sh
@@ -185,6 +187,9 @@ should produce a Deployment resource with minimal values:
185187
- emptyDir:
186188
sizeLimit: 1Gi
187189
name: plugin-volume
190+
- name: connect-cert-volume
191+
secret:
192+
secretName: release-name-platform-backend
188193
should render the cron deployment with the correct checksums, labels and annotations:
189194
1: |
190195
apiVersion: apps/v1
@@ -216,7 +221,7 @@ should render the cron deployment with the correct checksums, labels and annotat
216221
template:
217222
metadata:
218223
annotations:
219-
checksum/configmap: d033ec97fa9bed7b2c101fadd02d9280d309f8cbef93d7fd08363c4050d55d58
224+
checksum/configmap: e7c0ce8f1a70f6f66b6154ca92968c09dbf32a11e3a960143e9d2bd91e1525d7
220225
checksum/secret: d3b5ca20c437b2faa4af1b549c817ee78cc2a992f86741120f01bd93a30d4873
221226
common-annotation-key: common-annotation-value
222227
pod-annotation-key: pod-annotation-value
@@ -301,6 +306,8 @@ should render the cron deployment with the correct checksums, labels and annotat
301306
name: plugin-volume
302307
- mountPath: /?/.nextflow/
303308
name: plugin-volume
309+
- mountPath: /data/certs
310+
name: connect-cert-volume
304311
initContainers:
305312
- command:
306313
- sh
@@ -417,3 +424,6 @@ should render the cron deployment with the correct checksums, labels and annotat
417424
- emptyDir:
418425
sizeLimit: 1Gi
419426
name: plugin-volume
427+
- name: connect-cert-volume
428+
secret:
429+
secretName: release-name-platform-backend

charts/platform/tests/configmap_test.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,3 +382,21 @@ tests:
382382
GROUNDSWELL_SERVER_URL: http://RELEASE-NAME-pipeline-optimization:8090
383383
MICRONAUT_ENVIRONMENTS: prod,redis,ha,wave,groundswell
384384
TOWER_DATA_EXPLORER_ENABLED: 'false'
385+
- it: should render TOWER_OIDC_PEM_PATH in the shared-backend-cron configmap regardless of studios.enabled
386+
documentSelector:
387+
path: metadata.name
388+
value: release-name-platform-shared-backend-cron
389+
set:
390+
studios:
391+
enabled: false
392+
asserts:
393+
- equal:
394+
path: data.TOWER_OIDC_PEM_PATH
395+
value: /data/certs/oidc.pem
396+
- it: should not render TOWER_OIDC_PEM_PATH in the backend-only configmap
397+
documentSelector:
398+
path: metadata.name
399+
value: release-name-platform-backend
400+
asserts:
401+
- notExists:
402+
path: data.TOWER_OIDC_PEM_PATH

0 commit comments

Comments
 (0)