-
Notifications
You must be signed in to change notification settings - Fork 292
Expand file tree
/
Copy pathodhdashboardconfigs.opendatahub.io.crd.yaml
More file actions
287 lines (287 loc) · 12.3 KB
/
odhdashboardconfigs.opendatahub.io.crd.yaml
File metadata and controls
287 lines (287 loc) · 12.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: odhdashboardconfigs.opendatahub.io
spec:
group: opendatahub.io
scope: Namespaced
names:
plural: odhdashboardconfigs
singular: odhdashboardconfig
kind: OdhDashboardConfig
versions:
- name: v1alpha
served: true
storage: true
schema:
openAPIV3Schema:
type: object
required:
- spec
properties:
spec:
type: object
properties:
# TODO: for v1 we should fix the "disabled" prefix
dashboardConfig:
description: 'Feature flag configurations; intended to just contain overrides'
type: object
properties:
enablement:
type: boolean
disableInfo:
type: boolean
disableSupport:
type: boolean
disableClusterManager:
type: boolean
disableTracking:
type: boolean
disableBYONImageStream:
type: boolean
disableISVBadges:
type: boolean
disableUserManagement:
type: boolean
disableHome:
type: boolean
disableProjects:
type: boolean
disableProjectScoped:
type: boolean
disableModelServing:
type: boolean
disableProjectSharing:
type: boolean
disableCustomServingRuntimes:
type: boolean
disablePipelines:
type: boolean
disableTrustyBiasMetrics:
type: boolean
disablePerformanceMetrics:
type: boolean
disableKServe:
type: boolean
disableKServeAuth:
type: boolean
disableKServeMetrics:
type: boolean
disableKServeRaw:
type: boolean
disableModelMesh:
type: boolean
description: 'DEPRECATED: ModelMesh has been removed. This field will be removed in a future version.'
disableAcceleratorProfiles:
type: boolean
description: 'DEPRECATED: Accelerator Profiles are replaced by Hardware Profiles. This field will be removed in a future version.'
disableHardwareProfiles:
type: boolean
description: 'DEPRECATED: Hardware Profiles are GA and cannot be disabled via this field. This field will be removed in a future version.'
disableFineTuning:
type: boolean
description: 'DEPRECATED: This field is no longer used and will be removed in a future version.'
disableDistributedWorkloads:
type: boolean
disableModelCatalog:
type: boolean
disableModelRegistry:
type: boolean
disableModelRegistrySecureDB:
type: boolean
disableServingRuntimeParams:
type: boolean
disableStorageClasses:
type: boolean
disableNIMModelServing:
type: boolean
disableAdminConnectionTypes:
type: boolean
disableKueue:
type: boolean
disableLMEval:
type: boolean
disableFeatureStore:
type: boolean
genAiStudio:
type: boolean
autorag:
type: boolean
automl:
type: boolean
modelAsService:
type: boolean
aiAssetCustomEndpoints:
type: boolean
mlflow:
type: boolean
projectRBAC:
type: boolean
trainingJobs:
type: boolean
observabilityDashboard:
type: boolean
disableLLMd:
type: boolean
deploymentWizardYAMLViewer:
type: boolean
promptManagement:
type: boolean
x-kubernetes-validations:
- rule: '!has(self.disableAcceleratorProfiles) || self.disableAcceleratorProfiles == oldSelf.disableAcceleratorProfiles'
message: 'DEPRECATED: spec.dashboardConfig.disableAcceleratorProfiles must be removed or left unchanged.'
- rule: '!has(self.disableHardwareProfiles) || self.disableHardwareProfiles == oldSelf.disableHardwareProfiles'
message: 'DEPRECATED: spec.dashboardConfig.disableHardwareProfiles must be removed or left unchanged.'
- rule: '!has(self.disableFineTuning) || self.disableFineTuning == oldSelf.disableFineTuning'
message: 'DEPRECATED: spec.dashboardConfig.disableFineTuning must be removed or left unchanged.'
# TODO: Remove before going to v1
groupsConfig:
description: 'Ignored -- See "Auth" Resource'
type: object
required:
- adminGroups
- allowedGroups
properties:
adminGroups:
type: string
allowedGroups:
type: string
x-kubernetes-validations:
- rule: self == oldSelf
message: Can no longer modify group configurations here, see the Auth resource instead
# Remove notebookSizes in a future version
notebookSizes:
description: 'DEPRECATED: Please use Hardware Profiles instead. This field will be removed in a future version.'
type: array
items:
type: object
required:
- name
- resources
properties:
name:
type: string
resources:
type: object
properties:
requests:
type: object
properties:
cpu:
type: string
memory:
type: string
limits:
type: object
properties:
cpu:
type: string
memory:
type: string
x-kubernetes-validations:
- rule: self == oldSelf
message: 'This field is DEPRECATED and must either be removed or left unchanged. Please use Hardware Profiles instead.'
# Remove modelServerSizes in a future version
modelServerSizes:
description: 'DEPRECATED: Please use Hardware Profiles instead. This field will be removed in a future version.'
type: array
items:
type: object
required:
- name
- resources
properties:
name:
type: string
resources:
type: object
properties:
requests:
type: object
properties:
cpu:
type: string
memory:
type: string
limits:
type: object
properties:
cpu:
type: string
memory:
type: string
x-kubernetes-validations:
- rule: self == oldSelf
message: 'This field is DEPRECATED and must either be removed or left unchanged. Please use Hardware Profiles instead.'
# May get impacted by Notebooks 2.0
notebookController:
description: 'Jupyter tile configurations'
type: object
required:
- enabled
properties:
enabled:
type: boolean
# TODO: Remove before going to v1
notebookNamespace:
type: string
x-kubernetes-validations:
- rule: self == oldSelf
message: Can no longer modify notebookNamespace here
pvcSize:
type: string
notebookTolerationSettings:
description: 'DEPRECATED: Please use Hardware Profiles to set tolerations instead. This field will be removed in a future version.'
type: object
properties:
enabled:
type: boolean
key:
type: string
x-kubernetes-validations:
- rule: self == oldSelf
message: 'This field is DEPRECATED and must either be removed or left unchanged. Please use Hardware Profiles to set tolerations instead.'
storageClassName:
type: string
# Likely needs a better spot to exist -- hard to do granular permissions
templateOrder:
type: array
items:
type: string
# Likely needs a better spot to exist -- hard to do granular permissions
templateDisablement:
type: array
items:
type: string
# Likely needs a better spot to exist -- hard to do granular permissions
hardwareProfileOrder:
type: array
items:
type: string
# Model serving deployment configurations
modelServing:
type: object
properties:
deploymentStrategy:
type: string
enum:
- rolling
- recreate
isLLMdDefault:
type: boolean
genAiStudioConfig:
description: 'Configuration options for Gen AI Studio features'
type: object
properties:
aiAssetCustomEndpoints:
description: 'Configuration for AI Asset custom endpoints feature'
type: object
properties:
externalProviders:
description: 'Allow users to configure external LLM providers (e.g., OpenAI, Gemini, Anthropic)'
type: boolean
clusterDomains:
description: 'List of DNS domains for cluster-local services (e.g., ["cluster.local", "prod.local"]). Used to identify internal Kubernetes services vs external providers.'
type: array
items:
type: string