Skip to content

Commit b1735fc

Browse files
authored
fix: helm chart values issue (#82)
1 parent 25c74ca commit b1735fc

File tree

3 files changed

+319
-16
lines changed

3 files changed

+319
-16
lines changed

charts/tensor-fusion/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ type: application
1515
# This is the chart version. This version number should be incremented each time you make changes
1616
# to the chart and its templates, including the app version.
1717
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: 1.2.11
18+
version: 1.2.12
1919

2020
# This is the version number of the application being deployed. This version number should be
2121
# incremented each time you make changes to the application. Versions are not expected to
+314
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,314 @@
1+
{
2+
"$schema": "https://json-schema.org/draft-07/schema#",
3+
"title": "Values for tensor-fusion Helm chart",
4+
"description": "Schema for the values.yaml file for the tensor-fusion Helm chart",
5+
"type": "object",
6+
"properties": {
7+
"imagePullSecrets": {
8+
"type": "array",
9+
"description": "List of secrets for pulling images from private repositories. See: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/",
10+
"items": {
11+
"type": "object",
12+
"properties": {
13+
"name": {
14+
"type": "string",
15+
"description": "Name of the secret containing the registry credentials"
16+
}
17+
}
18+
}
19+
},
20+
"nameOverride": {
21+
"type": "string",
22+
"description": "Override for the chart name"
23+
},
24+
"fullnameOverride": {
25+
"type": "string",
26+
"description": "Override for the full name of resources created by this chart"
27+
},
28+
"namespaceOverride": {
29+
"type": "string",
30+
"description": "Override for the namespace where resources will be deployed"
31+
},
32+
"serviceAccount": {
33+
"type": "object",
34+
"description": "Configuration for the service account. See: https://kubernetes.io/docs/concepts/security/service-accounts/",
35+
"properties": {
36+
"create": {
37+
"type": "boolean",
38+
"description": "Specifies whether a service account should be created",
39+
"default": true
40+
},
41+
"automount": {
42+
"type": "boolean",
43+
"description": "Automatically mount a ServiceAccount's API credentials",
44+
"default": true
45+
},
46+
"annotations": {
47+
"type": "object",
48+
"description": "Annotations to add to the service account",
49+
"additionalProperties": {
50+
"type": "string"
51+
}
52+
}
53+
}
54+
},
55+
"initialGpuNodeLabelSelector": {
56+
"type": "string",
57+
"description": "Label selector used to identify GPU nodes in the cluster",
58+
"default": "nvidia.com/gpu.present=true"
59+
},
60+
"controller": {
61+
"type": "object",
62+
"description": "Configuration for the tensor-fusion controller component",
63+
"properties": {
64+
"replicaCount": {
65+
"type": "integer",
66+
"description": "Number of replicas for the controller deployment",
67+
"minimum": 1,
68+
"default": 1
69+
},
70+
"image": {
71+
"type": "object",
72+
"description": "Container image configuration for the controller",
73+
"properties": {
74+
"repository": {
75+
"type": "string",
76+
"description": "Repository for the controller image",
77+
"default": "tensorfusion/tensor-fusion-operator"
78+
},
79+
"tag": {
80+
"type": "string",
81+
"description": "Tag for the controller image",
82+
"default": "latest"
83+
}
84+
},
85+
"required": ["repository"]
86+
},
87+
"podAnnotations": {
88+
"type": "object",
89+
"description": "Annotations to add to the controller pods",
90+
"additionalProperties": {
91+
"type": "string"
92+
}
93+
},
94+
"tolerations": {
95+
"type": "array",
96+
"description": "Tolerations for the controller pods",
97+
"items": {
98+
"type": "object"
99+
}
100+
},
101+
"affinity": {
102+
"type": "object",
103+
"description": "Affinity rules for the controller pods"
104+
},
105+
"livenessProbe": {
106+
"type": "object",
107+
"description": "Liveness probe configuration for the controller pods",
108+
"additionalProperties": true
109+
},
110+
"readinessProbe": {
111+
"type": "object",
112+
"description": "Readiness probe configuration for the controller pods",
113+
"additionalProperties": true
114+
},
115+
"resources": {
116+
"type": "object",
117+
"description": "Resource requirements for the controller",
118+
"properties": {
119+
"requests": {
120+
"type": "object",
121+
"description": "Resource requests for the controller",
122+
"properties": {
123+
"cpu": {
124+
"type": "string",
125+
"description": "CPU request for the controller"
126+
},
127+
"memory": {
128+
"type": "string",
129+
"description": "Memory request for the controller"
130+
}
131+
}
132+
},
133+
"limits": {
134+
"type": "object",
135+
"description": "Resource limits for the controller",
136+
"properties": {
137+
"cpu": {
138+
"type": "string",
139+
"description": "CPU limit for the controller"
140+
},
141+
"memory": {
142+
"type": "string",
143+
"description": "Memory limit for the controller"
144+
}
145+
}
146+
}
147+
}
148+
},
149+
"admissionWebhooks": {
150+
"type": "object",
151+
"description": "Configuration for the admission webhooks",
152+
"properties": {
153+
"failurePolicy": {
154+
"type": "string",
155+
"description": "Failure policy for the admission webhooks",
156+
"enum": ["Fail", "Ignore"],
157+
"default": "Fail"
158+
},
159+
"secretName": {
160+
"type": "string",
161+
"description": "Name of the secret containing the webhook certificates",
162+
"default": "tensor-fusion-webhook-secret"
163+
},
164+
"patch": {
165+
"type": "object",
166+
"description": "Configuration for patching the webhook certificates",
167+
"properties": {
168+
"image": {
169+
"type": "string",
170+
"description": "Image for the webhook certificate generator",
171+
"default": "registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.5.0"
172+
}
173+
}
174+
}
175+
}
176+
}
177+
},
178+
"required": ["image"]
179+
},
180+
"greptime": {
181+
"type": "object",
182+
"description": "Configuration for GreptimeDB integration",
183+
"properties": {
184+
"isCloud": {
185+
"type": "boolean",
186+
"description": "Whether to use GreptimeDB Cloud",
187+
"default": false
188+
},
189+
"host": {
190+
"type": "string",
191+
"description": "Hostname of the GreptimeDB server",
192+
"default": "greptimedb-standalone.greptimedb.svc.cluster.local"
193+
},
194+
"port": {
195+
"type": "integer",
196+
"description": "Port of the GreptimeDB server",
197+
"default": 4001
198+
},
199+
"installStandalone": {
200+
"type": "boolean",
201+
"description": "Whether to install a standalone GreptimeDB instance",
202+
"default": true
203+
},
204+
"user": {
205+
"type": "string",
206+
"description": "Username for GreptimeDB authentication"
207+
},
208+
"db": {
209+
"type": "string",
210+
"description": "Database name in GreptimeDB"
211+
},
212+
"password": {
213+
"type": "string",
214+
"description": "Password for GreptimeDB authentication"
215+
}
216+
},
217+
"required": ["host", "port"]
218+
},
219+
"agent": {
220+
"type": "object",
221+
"description": "Configuration for the tensor-fusion agent component",
222+
"properties": {
223+
"enrollToken": {
224+
"type": "string",
225+
"description": "Token used for agent enrollment with the cloud service",
226+
"default": "token-from-cloud"
227+
},
228+
"agentId": {
229+
"type": "string",
230+
"description": "Unique identifier for the agent in the format 'org:env'",
231+
"default": "org-from-cloud:env"
232+
},
233+
"cloudEndpoint": {
234+
"type": "string",
235+
"description": "WebSocket endpoint for cloud communication",
236+
"default": "wss://app.tensor-fusion.ai/_ws"
237+
},
238+
"image": {
239+
"type": "object",
240+
"description": "Container image configuration for the agent",
241+
"properties": {
242+
"repository": {
243+
"type": "string",
244+
"description": "Repository for the agent image",
245+
"default": "tensorfusion/tensor-fusion-agent"
246+
},
247+
"tag": {
248+
"type": "string",
249+
"description": "Tag for the agent image",
250+
"default": "latest"
251+
}
252+
},
253+
"required": ["repository"]
254+
},
255+
"resources": {
256+
"type": "object",
257+
"description": "Resource requirements for the agent",
258+
"properties": {
259+
"requests": {
260+
"type": "object",
261+
"description": "Resource requests for the agent",
262+
"properties": {
263+
"cpu": {
264+
"type": "string",
265+
"description": "CPU request for the agent",
266+
"default": "50m"
267+
},
268+
"memory": {
269+
"type": "string",
270+
"description": "Memory request for the cluster agent",
271+
"default": "64Mi"
272+
}
273+
}
274+
},
275+
"limits": {
276+
"type": "object",
277+
"description": "Resource limits for the cluster agent",
278+
"properties": {
279+
"cpu": {
280+
"type": "string",
281+
"description": "CPU limit for the cluster agent",
282+
"default": "1000m"
283+
},
284+
"memory": {
285+
"type": "string",
286+
"description": "Memory limit for the cluster agent",
287+
"default": "512Mi"
288+
}
289+
}
290+
}
291+
}
292+
}
293+
},
294+
"required": ["enrollToken", "agentId", "cloudEndpoint", "image"]
295+
},
296+
"cloudVendorCredentials": {
297+
"type": "object",
298+
"description": "Cloud vendor credentials for pools running in Provisioned mode without IRSA or zero-credential auth",
299+
"properties": {
300+
"accessKey": {
301+
"type": "string",
302+
"description": "Access key for cloud vendor authentication",
303+
"default": "dummy"
304+
},
305+
"secretKey": {
306+
"type": "string",
307+
"description": "Secret key for cloud vendor authentication",
308+
"default": "dummy"
309+
}
310+
},
311+
"required": ["accessKey", "secretKey"]
312+
}
313+
}
314+
}

charts/tensor-fusion/values.yaml

+4-15
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,7 @@ serviceAccount:
1919
# Annotations to add to the service account
2020
annotations: {}
2121

22-
hypervisor:
23-
image:
24-
repository: tensorfusion/tensor-fusion-hypervisor
25-
# Overrides the image tag whose default is the chart appVersion.
26-
tag: "1.9.0_amd64"
27-
affinity:
28-
nodeAffinity:
29-
requiredDuringSchedulingIgnoredDuringExecution:
30-
nodeSelectorTerms:
31-
- matchExpressions:
32-
- key: kubernetes.io/hostname
33-
operator: In
34-
values:
35-
- ubuntu
36-
22+
initialGpuNodeLabelSelector: "nvidia.com/gpu.present=true"
3723

3824
controller:
3925
# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
@@ -49,6 +35,9 @@ controller:
4935
podAnnotations: {}
5036
tolerations: []
5137
affinity: {}
38+
# livenessProbe: {}
39+
# readinessProbe: {}
40+
# resources: {}
5241

5342
admissionWebhooks:
5443
failurePolicy: Fail

0 commit comments

Comments
 (0)