From d2dd2608f2f6f8a122683ed6f664def0da89cb70 Mon Sep 17 00:00:00 2001 From: Alex Welsh Date: Mon, 1 Dec 2025 14:14:00 +0000 Subject: [PATCH 1/4] Add nodeGroupSelector option to LLM UI --- charts/azimuth-chat/azimuth-ui.schema.yaml | 1 + charts/azimuth-image-analysis/azimuth-ui.schema.yaml | 1 + charts/azimuth-llm/azimuth-ui.schema.yaml | 1 + charts/azimuth-llm/templates/api/deployment.yml | 9 +++++++-- charts/azimuth-llm/values.schema.json | 5 +++++ charts/azimuth-llm/values.yaml | 2 ++ 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/charts/azimuth-chat/azimuth-ui.schema.yaml b/charts/azimuth-chat/azimuth-ui.schema.yaml index 74bd573c..c008baab 100644 --- a/charts/azimuth-chat/azimuth-ui.schema.yaml +++ b/charts/azimuth-chat/azimuth-ui.schema.yaml @@ -21,6 +21,7 @@ controls: sortOrder: - /azimuth-llm/huggingface/model - /azimuth-llm/huggingface/token + - /azimuth-llm/api/azimuthNodeGroupSelector - /azimuth-llm/ui/appSettings/model_instruction - /azimuth-llm/ui/appSettings/page_title - /azimuth-llm/api/image/version diff --git a/charts/azimuth-image-analysis/azimuth-ui.schema.yaml b/charts/azimuth-image-analysis/azimuth-ui.schema.yaml index f6bac6a1..51b07bf6 100644 --- a/charts/azimuth-image-analysis/azimuth-ui.schema.yaml +++ b/charts/azimuth-image-analysis/azimuth-ui.schema.yaml @@ -21,6 +21,7 @@ controls: sortOrder: - /azimuth-llm/huggingface/model - /azimuth-llm/huggingface/token + - /azimuth-llm/api/azimuthNodeGroupSelector - /azimuth-llm/ui/appSettings/page_title - /azimuth-llm/api/image/version - /azimuth-llm/ui/appSettings/llm_params/temperature diff --git a/charts/azimuth-llm/azimuth-ui.schema.yaml b/charts/azimuth-llm/azimuth-ui.schema.yaml index 9989cc1a..ca9386cc 100644 --- a/charts/azimuth-llm/azimuth-ui.schema.yaml +++ b/charts/azimuth-llm/azimuth-ui.schema.yaml @@ -21,6 +21,7 @@ controls: sortOrder: - /huggingface/model - /huggingface/token + - /api/azimuthNodeGroupSelector - /ui/appSettings/model_instruction - /ui/appSettings/page_title - /api/image/version diff --git a/charts/azimuth-llm/templates/api/deployment.yml b/charts/azimuth-llm/templates/api/deployment.yml index 72b310ff..12215e92 100644 --- a/charts/azimuth-llm/templates/api/deployment.yml +++ b/charts/azimuth-llm/templates/api/deployment.yml @@ -82,9 +82,14 @@ spec: emptyDir: medium: Memory sizeLimit: 1Gi - {{- with $.Values.api.nodeSelector }} + {{- with .Values.api }} + {{- if .azimuthNodeGroupSelector }} nodeSelector: - {{- toYaml . | nindent 8 }} + capi.stackhpc.com/node-group: {{ .azimuthNodeGroupSelector | quote }} + {{- else if .nodeSelector }} + nodeSelector: + {{- toYaml .nodeSelector | nindent 8 }} + {{- end }} {{- end }} {{- with $.Values.api.affinity }} affinity: diff --git a/charts/azimuth-llm/values.schema.json b/charts/azimuth-llm/values.schema.json index 8f7d44de..f07b0e30 100644 --- a/charts/azimuth-llm/values.schema.json +++ b/charts/azimuth-llm/values.schema.json @@ -40,6 +40,11 @@ "default": "v0.11.0" } } + }, + "azimuthNodeGroupSelector": { + "type": "string", + "title": "Node Group", + "description": "The node group to deploy the API backend to. Must match a node group label in the cluster." } } }, diff --git a/charts/azimuth-llm/values.yaml b/charts/azimuth-llm/values.yaml index 2b01b57d..a5511213 100644 --- a/charts/azimuth-llm/values.yaml +++ b/charts/azimuth-llm/values.yaml @@ -104,6 +104,8 @@ api: # - name: FOO # value: "bar" extraEnv: [] + # Azimuth node group selector label + azimuthNodeGroupSelector: "" # Pod node selector labels nodeSelector: {} # Pod tolerations From 16f1dc6472cd95ba4c30456467a5c6506c22c01d Mon Sep 17 00:00:00 2001 From: Alex Welsh Date: Thu, 4 Dec 2025 11:34:38 +0000 Subject: [PATCH 2/4] Fix UI schema for huggingface apps --- charts/azimuth-chat/values.schema.json | 5 +++++ charts/azimuth-image-analysis/values.schema.json | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/charts/azimuth-chat/values.schema.json b/charts/azimuth-chat/values.schema.json index d82ec389..09584802 100644 --- a/charts/azimuth-chat/values.schema.json +++ b/charts/azimuth-chat/values.schema.json @@ -43,6 +43,11 @@ "default": "v0.11.0" } } + }, + "azimuthNodeGroupSelector": { + "type": "string", + "title": "Node Group", + "description": "The node group to deploy the API backend to. Must match a node group label in the cluster." } } }, diff --git a/charts/azimuth-image-analysis/values.schema.json b/charts/azimuth-image-analysis/values.schema.json index 105e5817..edce2f69 100644 --- a/charts/azimuth-image-analysis/values.schema.json +++ b/charts/azimuth-image-analysis/values.schema.json @@ -43,6 +43,11 @@ "modelMaxContextLength": { "title": "Model Context Length", "description": "An override for the maximum context length to allow, if the model's default is not suitable." + }, + "azimuthNodeGroupSelector": { + "type": "string", + "title": "Node Group", + "description": "The node group to deploy the API backend to. Must match a node group label in the cluster." } } }, From 08d95a2d2b3496aedd5523aa0d5f6f9cc92960ed Mon Sep 17 00:00:00 2001 From: Alex Welsh Date: Thu, 4 Dec 2025 12:51:40 +0000 Subject: [PATCH 3/4] Clarify NodeSelector property description --- charts/azimuth-chat/values.schema.json | 2 +- charts/azimuth-image-analysis/values.schema.json | 2 +- charts/azimuth-llm/values.schema.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/azimuth-chat/values.schema.json b/charts/azimuth-chat/values.schema.json index 09584802..19c799d4 100644 --- a/charts/azimuth-chat/values.schema.json +++ b/charts/azimuth-chat/values.schema.json @@ -47,7 +47,7 @@ "azimuthNodeGroupSelector": { "type": "string", "title": "Node Group", - "description": "The node group to deploy the API backend to. Must match a node group label in the cluster." + "description": "The node group to deploy the API backend to. Must match a node group label in the cluster. Leave empty to use any available node." } } }, diff --git a/charts/azimuth-image-analysis/values.schema.json b/charts/azimuth-image-analysis/values.schema.json index edce2f69..d3ed2ee6 100644 --- a/charts/azimuth-image-analysis/values.schema.json +++ b/charts/azimuth-image-analysis/values.schema.json @@ -47,7 +47,7 @@ "azimuthNodeGroupSelector": { "type": "string", "title": "Node Group", - "description": "The node group to deploy the API backend to. Must match a node group label in the cluster." + "description": "The node group to deploy the API backend to. Must match a node group label in the cluster. Leave empty to use any available node." } } }, diff --git a/charts/azimuth-llm/values.schema.json b/charts/azimuth-llm/values.schema.json index f07b0e30..5a24bfaa 100644 --- a/charts/azimuth-llm/values.schema.json +++ b/charts/azimuth-llm/values.schema.json @@ -44,7 +44,7 @@ "azimuthNodeGroupSelector": { "type": "string", "title": "Node Group", - "description": "The node group to deploy the API backend to. Must match a node group label in the cluster." + "description": "The node group to deploy the API backend to. Must match a node group label in the cluster. Leave empty to use any available node." } } }, From 8bcf1c7bb2e6267b523d55b46c92105d906d1cff Mon Sep 17 00:00:00 2001 From: Alex Welsh <112560678+Alex-Welsh@users.noreply.github.com> Date: Thu, 4 Dec 2025 13:45:52 +0000 Subject: [PATCH 4/4] Update NodeGroupSelector description Co-authored-by: Scott Davidson <49713135+sd109@users.noreply.github.com> --- charts/azimuth-chat/values.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/azimuth-chat/values.schema.json b/charts/azimuth-chat/values.schema.json index 19c799d4..4a28d11d 100644 --- a/charts/azimuth-chat/values.schema.json +++ b/charts/azimuth-chat/values.schema.json @@ -47,7 +47,7 @@ "azimuthNodeGroupSelector": { "type": "string", "title": "Node Group", - "description": "The node group to deploy the API backend to. Must match a node group label in the cluster. Leave empty to use any available node." + "description": "(Optional) Require that the LLM runs on a particular node group. Must match a node group name in the cluster." } } },