Skip to content

Commit e66c464

Browse files
Merge pull request opendatahub-io#129 from gmfrasca/add-mlmd-component
Add ML-Metadata Component
2 parents 19290e3 + 0b3f10a commit e66c464

25 files changed

+831
-4
lines changed

api/v1alpha1/dspipeline_types.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ type DSPASpec struct {
3535
*MlPipelineUI `json:"mlpipelineUI"`
3636
// +kubebuilder:validation:Required
3737
*ObjectStorage `json:"objectStorage"`
38+
// +kubebuilder:validation:Optional
39+
// +kubebuilder:default:={deploy: false}
40+
*MLMD `json:"mlmd"`
3841
}
3942

4043
type APIServer struct {
@@ -164,6 +167,35 @@ type Minio struct {
164167
Image string `json:"image"`
165168
}
166169

170+
type MLMD struct {
171+
// +kubebuilder:default:=false
172+
// +kubebuilder:validation:Optional
173+
Deploy bool `json:"deploy"`
174+
*Envoy `json:"envoy,omitempty"`
175+
*GRPC `json:"grpc,omitempty"`
176+
*Writer `json:"writer,omitempty"`
177+
}
178+
179+
type Envoy struct {
180+
Resources *ResourceRequirements `json:"resources,omitempty"`
181+
// +kubebuilder:validation:Required
182+
Image string `json:"image"`
183+
}
184+
185+
type GRPC struct {
186+
Resources *ResourceRequirements `json:"resources,omitempty"`
187+
// +kubebuilder:validation:Required
188+
Image string `json:"image"`
189+
// +kubebuilder:validation:Optional
190+
Port string `json:"port"`
191+
}
192+
193+
type Writer struct {
194+
Resources *ResourceRequirements `json:"resources,omitempty"`
195+
// +kubebuilder:validation:Required
196+
Image string `json:"image"`
197+
}
198+
167199
// ResourceRequirements structures compute resource requirements.
168200
// Replaces ResourceRequirements from corev1 which also includes optional storage field.
169201
// We handle storage field separately, and should not include it as a subfield for Resources.

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 95 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/base/kustomization.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,27 @@ vars:
7171
apiVersion: v1
7272
fieldref:
7373
fieldpath: data.IMAGES_MARIADB
74+
- name: IMAGES_MLMDENVOY
75+
objref:
76+
kind: ConfigMap
77+
name: dspo-parameters
78+
apiVersion: v1
79+
fieldref:
80+
fieldpath: data.IMAGES_MLMDENVOY
81+
- name: IMAGES_MLMDGRPC
82+
objref:
83+
kind: ConfigMap
84+
name: dspo-parameters
85+
apiVersion: v1
86+
fieldref:
87+
fieldpath: data.IMAGES_MLMDGRPC
88+
- name: IMAGES_MLMDWRITER
89+
objref:
90+
kind: ConfigMap
91+
name: dspo-parameters
92+
apiVersion: v1
93+
fieldref:
94+
fieldpath: data.IMAGES_MLMDWRITER
7495
- name: IMAGES_DSPO
7596
objref:
7697
kind: ConfigMap

config/base/params.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@ IMAGES_MOVERESULTSIMAGE=registry.access.redhat.com/ubi8/ubi-micro
77
IMAGES_MARIADB=registry.redhat.io/rhel8/mariadb-103:1-188
88
IMAGES_DSPO=quay.io/opendatahub/data-science-pipelines-operator:main
99
IMAGES_OAUTHPROXY=registry.redhat.io/openshift4/ose-oauth-proxy:v4.12.0
10+
IMAGES_MLMDENVOY=quay.io/opendatahub/ds-pipelines-metadata-envoy:1.7.0
11+
IMAGES_MLMDGRPC=quay.io/opendatahub/ds-pipelines-metadata-grpc:1.0.0
12+
IMAGES_MLMDWRITER=quay.io/opendatahub/ds-pipelines-metadata-writer:1.1.0

config/configmaps/files/config.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@ Images:
77
Cache: $(IMAGES_CACHE)
88
MoveResultsImage: $(IMAGES_MOVERESULTSIMAGE)
99
MariaDB: $(IMAGES_MARIADB)
10+
MlmdEnvoy: $(IMAGES_MLMDENVOY)
11+
MlmdGRPC: $(IMAGES_MLMDGRPC)
12+
MlmdWriter: $(IMAGES_MLMDWRITER)

config/crd/bases/datasciencepipelinesapplications.opendatahub.io_datasciencepipelinesapplications.yaml

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,151 @@ spec:
235235
type: string
236236
type: object
237237
type: object
238+
mlmd:
239+
default:
240+
deploy: false
241+
properties:
242+
deploy:
243+
default: false
244+
type: boolean
245+
envoy:
246+
properties:
247+
image:
248+
type: string
249+
resources:
250+
description: ResourceRequirements structures compute resource
251+
requirements. Replaces ResourceRequirements from corev1
252+
which also includes optional storage field. We handle storage
253+
field separately, and should not include it as a subfield
254+
for Resources.
255+
properties:
256+
limits:
257+
properties:
258+
cpu:
259+
anyOf:
260+
- type: integer
261+
- type: string
262+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
263+
x-kubernetes-int-or-string: true
264+
memory:
265+
anyOf:
266+
- type: integer
267+
- type: string
268+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
269+
x-kubernetes-int-or-string: true
270+
type: object
271+
requests:
272+
properties:
273+
cpu:
274+
anyOf:
275+
- type: integer
276+
- type: string
277+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
278+
x-kubernetes-int-or-string: true
279+
memory:
280+
anyOf:
281+
- type: integer
282+
- type: string
283+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
284+
x-kubernetes-int-or-string: true
285+
type: object
286+
type: object
287+
required:
288+
- image
289+
type: object
290+
grpc:
291+
properties:
292+
image:
293+
type: string
294+
port:
295+
type: string
296+
resources:
297+
description: ResourceRequirements structures compute resource
298+
requirements. Replaces ResourceRequirements from corev1
299+
which also includes optional storage field. We handle storage
300+
field separately, and should not include it as a subfield
301+
for Resources.
302+
properties:
303+
limits:
304+
properties:
305+
cpu:
306+
anyOf:
307+
- type: integer
308+
- type: string
309+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
310+
x-kubernetes-int-or-string: true
311+
memory:
312+
anyOf:
313+
- type: integer
314+
- type: string
315+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
316+
x-kubernetes-int-or-string: true
317+
type: object
318+
requests:
319+
properties:
320+
cpu:
321+
anyOf:
322+
- type: integer
323+
- type: string
324+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
325+
x-kubernetes-int-or-string: true
326+
memory:
327+
anyOf:
328+
- type: integer
329+
- type: string
330+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
331+
x-kubernetes-int-or-string: true
332+
type: object
333+
type: object
334+
required:
335+
- image
336+
type: object
337+
writer:
338+
properties:
339+
image:
340+
type: string
341+
resources:
342+
description: ResourceRequirements structures compute resource
343+
requirements. Replaces ResourceRequirements from corev1
344+
which also includes optional storage field. We handle storage
345+
field separately, and should not include it as a subfield
346+
for Resources.
347+
properties:
348+
limits:
349+
properties:
350+
cpu:
351+
anyOf:
352+
- type: integer
353+
- type: string
354+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
355+
x-kubernetes-int-or-string: true
356+
memory:
357+
anyOf:
358+
- type: integer
359+
- type: string
360+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
361+
x-kubernetes-int-or-string: true
362+
type: object
363+
requests:
364+
properties:
365+
cpu:
366+
anyOf:
367+
- type: integer
368+
- type: string
369+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
370+
x-kubernetes-int-or-string: true
371+
memory:
372+
anyOf:
373+
- type: integer
374+
- type: string
375+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
376+
x-kubernetes-int-or-string: true
377+
type: object
378+
type: object
379+
required:
380+
- image
381+
type: object
382+
type: object
238383
mlpipelineUI:
239384
properties:
240385
configMap:

0 commit comments

Comments
 (0)