diff --git a/charts/azimuth-chat/azimuth-ui.schema.yaml b/charts/azimuth-chat/azimuth-ui.schema.yaml index 74bd573..c008baa 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-chat/values.schema.json b/charts/azimuth-chat/values.schema.json index d82ec38..4a28d11 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": "(Optional) Require that the LLM runs on a particular node group. Must match a node group name in the cluster." } } }, diff --git a/charts/azimuth-image-analysis/azimuth-ui.schema.yaml b/charts/azimuth-image-analysis/azimuth-ui.schema.yaml index f6bac6a..51b07bf 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-image-analysis/values.schema.json b/charts/azimuth-image-analysis/values.schema.json index 105e581..d3ed2ee 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. Leave empty to use any available node." } } }, diff --git a/charts/azimuth-llm/azimuth-ui.schema.yaml b/charts/azimuth-llm/azimuth-ui.schema.yaml index 9989cc1..ca9386c 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 72b310f..12215e9 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 8f7d44d..5a24bfa 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. Leave empty to use any available node." } } }, diff --git a/charts/azimuth-llm/values.yaml b/charts/azimuth-llm/values.yaml index 2b01b57..a551121 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