From 29f1f34cf3cd9683b0791f50096eebcad6b21915 Mon Sep 17 00:00:00 2001 From: Dennis Witt Date: Wed, 5 Aug 2026 22:52:45 +0200 Subject: [PATCH] feat(helm): add node scheduling properties (#977) Signed-off-by: Dennis Witt --- deploy/helm/turnstone/Chart.yaml | 2 +- .../turnstone/templates/deployment-console.yaml | 12 ++++++++++++ .../turnstone/templates/deployment-server.yaml | 12 ++++++++++++ deploy/helm/turnstone/templates/job-migrate.yaml | 12 ++++++++++++ deploy/helm/turnstone/values.yaml | 15 +++++++++++++++ 5 files changed, 52 insertions(+), 1 deletion(-) diff --git a/deploy/helm/turnstone/Chart.yaml b/deploy/helm/turnstone/Chart.yaml index efc054ca..10b8efde 100644 --- a/deploy/helm/turnstone/Chart.yaml +++ b/deploy/helm/turnstone/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: turnstone description: Multi-node AI orchestration platform with tool use, agent routing, and cluster simulation type: application -version: 0.1.0 +version: 0.2.0 appVersion: "0.3.0" dependencies: diff --git a/deploy/helm/turnstone/templates/deployment-console.yaml b/deploy/helm/turnstone/templates/deployment-console.yaml index 37d81d0b..63e7fb92 100644 --- a/deploy/helm/turnstone/templates/deployment-console.yaml +++ b/deploy/helm/turnstone/templates/deployment-console.yaml @@ -29,6 +29,18 @@ spec: app.kubernetes.io/component: console spec: serviceAccountName: {{ include "turnstone.serviceAccountName" . }} + {{- with .Values.console.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.console.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.console.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: console image: {{ include "turnstone.image" . }} diff --git a/deploy/helm/turnstone/templates/deployment-server.yaml b/deploy/helm/turnstone/templates/deployment-server.yaml index 6c279d12..3b2e88ee 100644 --- a/deploy/helm/turnstone/templates/deployment-server.yaml +++ b/deploy/helm/turnstone/templates/deployment-server.yaml @@ -18,6 +18,18 @@ spec: app.kubernetes.io/component: server spec: serviceAccountName: {{ include "turnstone.serviceAccountName" . }} + {{- with .Values.server.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.server.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.server.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: server image: {{ include "turnstone.image" . }} diff --git a/deploy/helm/turnstone/templates/job-migrate.yaml b/deploy/helm/turnstone/templates/job-migrate.yaml index 70ef491e..1088c1bd 100644 --- a/deploy/helm/turnstone/templates/job-migrate.yaml +++ b/deploy/helm/turnstone/templates/job-migrate.yaml @@ -31,6 +31,18 @@ spec: spec: serviceAccountName: {{ include "turnstone.serviceAccountName" . }} restartPolicy: OnFailure + {{- with .Values.migrate.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.migrate.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.migrate.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: migrate image: {{ include "turnstone.image" . }} diff --git a/deploy/helm/turnstone/values.yaml b/deploy/helm/turnstone/values.yaml index 63d79544..a925a72c 100644 --- a/deploy/helm/turnstone/values.yaml +++ b/deploy/helm/turnstone/values.yaml @@ -43,6 +43,10 @@ server: service: type: ClusterIP port: 8080 + # -- Node scheduling constraints + nodeSelector: {} + affinity: {} + tolerations: [] # -- Turnstone console (cluster dashboard) console: @@ -57,6 +61,17 @@ console: service: type: ClusterIP port: 8090 + # -- Node scheduling constraints + nodeSelector: {} + affinity: {} + tolerations: [] + +# -- Database migration Job (post-install/pre-upgrade hook) +migrate: + # -- Node scheduling constraints + nodeSelector: {} + affinity: {} + tolerations: [] # -- LLM provider configuration llm: