Skip to content

Commit 643186b

Browse files
committed
Improvements
1 parent c529540 commit 643186b

File tree

5 files changed

+50
-7
lines changed

5 files changed

+50
-7
lines changed

charts/gpu-metrics-exporter/templates/daemonset.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ spec:
3030
{{- toYaml . | nindent 8 }}
3131
{{- end }}
3232
{{- $provider := include "gpu-metrics-exporter.provider" . }}
33-
{{- if eq (required ".Values.provider is required (gke|eks|aks|omni)" $provider) "eks" }}
33+
{{- if eq (required "provider or global.castai.provider is required (gke|eks|aks|omni)" $provider) "eks" }}
3434
priorityClassName: system-node-critical
3535
{{- end }}
3636
serviceAccountName: {{ include "gpu-metrics-exporter.serviceAccountName" . }}

charts/gpu-metrics-exporter/templates/gpu-exporter-configmap.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ data:
66
{{- if and (not .Values.castai.clusterIdSecretRef) (not .Values.castai.clusterIdConfigMapKeyRef.name) }}
77
CLUSTER_ID: {{ required "castai.clusterId must be provided" .Values.castai.clusterId | quote }}
88
{{- end }}
9-
CAST_API: {{ required "castai.apiUrl must be provided" (include "gpu-metrics-exporter.apiURL" .) | quote }}
9+
CAST_API: {{ required "castai.apiUrl or global.castai.apiURL must be provided" (include "gpu-metrics-exporter.apiURL" .) | quote }}
1010

1111
{{- $config := .Values.gpuMetricsExporter.config | default dict }}
1212
{{- $otherConfig := omit $config "CLUSTER_ID" "CAST_API"}}

charts/gpu-metrics-exporter/templates/validation.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,19 @@ Validation for provider parameter
88
{{- end }}
99

1010
{{/*
11-
Require either clusterId or clusterIdSecretRef
11+
Require one of clusterId, clusterIdSecretRef, or clusterIdConfigMapKeyRef
1212
*/}}
1313
{{- if and (not .Values.castai.clusterId) (not .Values.castai.clusterIdSecretRef) (not .Values.castai.clusterIdConfigMapKeyRef.name) }}
1414
{{- fail "one of castai.clusterId, castai.clusterIdSecretRef, or castai.clusterIdConfigMapKeyRef must be set" }}
1515
{{- end }}
16+
17+
{{/*
18+
Ensure mutual exclusivity of cluster ID sources
19+
*/}}
20+
{{- $clusterIdCount := 0 }}
21+
{{- if .Values.castai.clusterId }}{{ $clusterIdCount = add $clusterIdCount 1 }}{{ end }}
22+
{{- if .Values.castai.clusterIdSecretRef }}{{ $clusterIdCount = add $clusterIdCount 1 }}{{ end }}
23+
{{- if .Values.castai.clusterIdConfigMapKeyRef.name }}{{ $clusterIdCount = add $clusterIdCount 1 }}{{ end }}
24+
{{- if gt (int $clusterIdCount) 1 }}
25+
{{- fail "only one of castai.clusterId, castai.clusterIdSecretRef, or castai.clusterIdConfigMapKeyRef may be set" }}
26+
{{- end }}

charts/gpu-metrics-exporter/tests/configmap_ref_test.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@ tests:
2727
name: castai-agent-metadata
2828
key: CLUSTER_ID
2929

30-
- it: No gpu-metrics-exporter Secret contains the API key (apiKeySecretRef is used instead)
30+
- it: No gpu-metrics-exporter Secret is rendered (apiKeySecretRef is used instead)
3131
template: secret.yaml
3232
asserts:
33-
- notEqual:
34-
path: data.API_KEY
35-
value: "bXlrZXk="
33+
- hasDocuments:
34+
count: 0
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
suite: mutual exclusivity of cluster ID sources
2+
templates:
3+
- validation.yaml
4+
set:
5+
castai.apiKey: "test-key"
6+
castai.apiUrl: "https://api.cast.ai"
7+
provider: "gke"
8+
tests:
9+
- it: fails when both clusterIdSecretRef and clusterIdConfigMapKeyRef are set
10+
set:
11+
castai.clusterIdSecretRef: "my-secret"
12+
castai.clusterIdConfigMapKeyRef.name: "my-configmap"
13+
castai.clusterIdConfigMapKeyRef.key: "CLUSTER_ID"
14+
asserts:
15+
- failedTemplate:
16+
errorMessage: "only one of castai.clusterId, castai.clusterIdSecretRef, or castai.clusterIdConfigMapKeyRef may be set"
17+
18+
- it: fails when both clusterId and clusterIdSecretRef are set
19+
set:
20+
castai.clusterId: "my-cluster"
21+
castai.clusterIdSecretRef: "my-secret"
22+
asserts:
23+
- failedTemplate:
24+
errorMessage: "only one of castai.clusterId, castai.clusterIdSecretRef, or castai.clusterIdConfigMapKeyRef may be set"
25+
26+
- it: fails when both clusterId and clusterIdConfigMapKeyRef are set
27+
set:
28+
castai.clusterId: "my-cluster"
29+
castai.clusterIdConfigMapKeyRef.name: "my-configmap"
30+
castai.clusterIdConfigMapKeyRef.key: "CLUSTER_ID"
31+
asserts:
32+
- failedTemplate:
33+
errorMessage: "only one of castai.clusterId, castai.clusterIdSecretRef, or castai.clusterIdConfigMapKeyRef may be set"

0 commit comments

Comments
 (0)