Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ This repository periodically synchronizes all official Kubeflow components from
| KServe | applications/kserve/kserve | [v0.15.0](https://github.com/kserve/kserve/releases/tag/v0.15.0/install/v0.15.0) | 600m | 1200Mi | 0GB |
| KServe Models Web Application | applications/kserve/models-web-app | [v0.14.0](https://github.com/kserve/models-web-app/tree/v0.14.0/config) | 6m | 259Mi | 0GB |
| Kubeflow Pipelines | applications/pipeline/upstream | [2.14.0](https://github.com/kubeflow/pipelines/tree/2.14.0/manifests/kustomize) | 970m | 3552Mi | 35GB |
| Kubeflow Model Registry | applications/model-registry/upstream | [v0.2.21](https://github.com/kubeflow/model-registry/tree/v0.2.21/manifests/kustomize) | 510m | 2112Mi | 20GB |
| Kubeflow Model Registry | applications/model-registry/upstream | [v0.2.22](https://github.com/kubeflow/model-registry/tree/v0.2.22/manifests/kustomize) | 510m | 2112Mi | 20GB |
| Spark Operator | applications/spark/spark-operator | [2.3.0](https://github.com/kubeflow/spark-operator/tree/v2.3.0) | 9m | 41Mi | 0GB |
| Istio | common/istio | [1.26.1](https://github.com/istio/istio/releases/tag/1.26.1) | 750m | 2364Mi | 0GB |
| Knative | common/knative/knative-serving <br /> common/knative/knative-eventing | [v1.16.2](https://github.com/knative/serving/releases/tag/knative-v1.16.2) <br /> [v1.16.4](https://github.com/knative/eventing/releases/tag/knative-v1.16.4) | 1450m | 1038Mi | 0GB |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ resources:
images:
- name: ghcr.io/kubeflow/model-registry/server
newName: ghcr.io/kubeflow/model-registry/server
newTag: v0.2.21
newTag: v0.2.22
Original file line number Diff line number Diff line change
Expand Up @@ -61,17 +61,28 @@ spec:
containerPort: 8080
livenessProbe:
initialDelaySeconds: 30
periodSeconds: 5
tcpSocket:
periodSeconds: 10
httpGet:
path: /readyz/isDirty
port: http-api
timeoutSeconds: 2
readinessProbe:
timeoutSeconds: 5
failureThreshold: 3
startupProbe:
initialDelaySeconds: 10
periodSeconds: 60
periodSeconds: 5
httpGet:
path: /readyz/isDirty
port: http-api
timeoutSeconds: 2
timeoutSeconds: 5
failureThreshold: 6
readinessProbe:
initialDelaySeconds: 5
periodSeconds: 10
httpGet:
path: /readyz/health
port: http-api
timeoutSeconds: 5
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
capabilities:
Expand Down
59 changes: 58 additions & 1 deletion applications/model-registry/upstream/options/catalog/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,61 @@ kubectl apply -k . -n NAMESPACE

Replace `NAMESPACE` with your desired Kubernetes namespace.

Update `sources.yaml` and `sample-catalog.yaml` to configure catalog models.
## sources.yaml Configuration

The `sources.yaml` file configures the model catalog sources. It contains a top-level `catalogs` list, where each entry defines a single catalog source.

### Common Properties

Each catalog source entry supports the following common properties:

- **`name`** (*string*, required): A user-friendly name for the catalog source.
- **`id`** (*string*, required): A unique identifier for the catalog source.
- **`type`** (*string*, required): The type of catalog source. Supported values are `yaml` and `rhec`.
- **`enabled`** (*boolean*, optional): Whether the catalog source is enabled. Defaults to `true` if not specified.

### Catalog Source Types

Below are the supported catalog source types and their specific `properties`.

#### `yaml`

The `yaml` type sources model metadata from a local YAML file.

##### Properties

- **`yamlCatalogPath`** (*string*, required): The path to the YAML file containing the model definitions. This path is relative to the directory where the `sources.yaml` file is located.

##### Example

```yaml
catalogs:
- name: Sample Catalog
id: sample_custom_catalog
type: yaml
enabled: true
properties:
yamlCatalogPath: sample-catalog.yaml
```

#### `rhec`

The `rhec` type sources model metadata from the Red Hat Ecosystem Catalog.

##### Properties

- **`models`** (*list*, required): A list of models to include from the Red Hat Ecosystem Catalog. Each entry in the list must contain a `repository` field.
- **`repository`** (*string*, required): The name of the model repository in the Red Hat Ecosystem Catalog (e.g., `rhelai1/modelcar-granite-7b-starter`).

##### Example

```yaml
catalogs:
- name: Red Hat Ecosystem Catalog
id: sample_rhec_catalog
type: rhec
enabled: true
properties:
models:
- repository: rhelai1/modelcar-granite-7b-starter
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
catalogs:
- name: Sample Catalog
id: sample_catalog
type: yaml
enabled: true
properties:
yamlCatalogPath: sample-catalog.yaml
- name: Red Hat Ecosystem Catalog
id: rhec
type: rhec
enabled: true
properties:
models:
- repository: rhelai1/modelcar-granite-7b-starter
- name: HuggingFace Hub
id: huggingface
type: hf
enabled: true
properties:
# HuggingFace API key - should be stored in a Kubernetes secret
# and referenced here, or set via environment variable
apiKey: "${HUGGINGFACE_API_KEY}"
# Optional: Custom HuggingFace URL (defaults to https://huggingface.co)
url: "https://huggingface.co"
# Optional: Limit the number of models to fetch (defaults to 100)
modelLimit: 200
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
catalogs:
- name: Sample Catalog
id: sample_catalog
id: sample_custom_catalog
type: yaml
enabled: true
properties:
yamlCatalogPath: sample-catalog.yaml
- name: Red Hat Ecosystem Catalog
id: sample_rhec_catalog
type: rhec
enabled: true
properties:
models:
- repository: rhelai1/modelcar-granite-7b-starter

Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ resources:
images:
- name: ghcr.io/kubeflow/model-registry/storage-initializer
newName: ghcr.io/kubeflow/model-registry/storage-initializer
newTag: v0.2.21
newTag: v0.2.22
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ resources:
images:
- name: model-registry-ui
newName: ghcr.io/kubeflow/model-registry/ui
newTag: v0.2.21
newTag: v0.2.22
Original file line number Diff line number Diff line change
Expand Up @@ -11,42 +11,27 @@ resources:
configMapGenerator:
- envs:
- params.env
name: metadata-registry-db-parameters
name: model-registry-db-parameters
secretGenerator:
- envs:
- secrets.env
name: metadata-registry-db-secrets
name: model-registry-db-secrets
generatorOptions:
disableNameSuffixHash: true


images:
- name: postgres
newName: postgres
newTag: 14.7-alpine3.17
newTag: "14.7-alpine3.17"

patches:
- path: patches/model-registry-deployment.yaml
replacements:
- source:
fieldPath: metadata.name
kind: Service
name: metadata-postgres-db
version: v1
targets:
- fieldPaths:
- spec.template.spec.containers.0.args.2
options:
delimiter: =
index: 1
select:
group: apps
kind: Deployment
name: model-registry-deployment
version: v1
- source:
fieldPath: data.POSTGRES_PORT
kind: ConfigMap
name: metadata-registry-db-parameters
name: model-registry-db-parameters
version: v1
targets:
- fieldPaths:
Expand All @@ -56,13 +41,3 @@ replacements:
kind: Deployment
name: model-registry-deployment
version: v1
- fieldPaths:
- spec.template.spec.containers.0.args.3
options:
delimiter: =
index: 1
select:
group: apps
kind: Deployment
name: model-registry-deployment
version: v1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: metadata-postgres-db
name: model-registry-db
labels:
component: db
spec:
Expand Down Expand Up @@ -31,9 +31,9 @@ spec:
value: /var/lib/postgresql/data/pgdata
envFrom:
- configMapRef:
name: metadata-registry-db-parameters
name: model-registry-db-parameters
- secretRef:
name: metadata-registry-db-secrets
name: model-registry-db-secrets
ports:
- name: postgres
containerPort: 5432
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ spec:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storage: 10Gi
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: metadata-postgres-db
name: model-registry-db
labels:
component: db
spec:
type: ClusterIP
ports:
- port: 5432
protocol: TCP
name: postgres
name: dbapi
selector:
component: db
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
POSTGRES_DB=metadb
POSTGRES_PORT=5432
POSTGRES_DBNAME=mlmdpostgres
POSTGRES_HOST=model-registry-db
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,20 @@ spec:
traffic.sidecar.istio.io/excludeOutboundPorts: POSTGRES_PORT_PLACEHOLDER
spec:
containers:
- name: grpc-container
- name: rest-container
# Remove existing environment variables
env:
- $patch: replace
- $patch: replace
envFrom:
- configMapRef:
name: metadata-registry-db-parameters
- secretRef:
name: metadata-registry-db-secrets
- configMapRef:
name: model-registry-configmap
args: ["--grpc_port=$(MODEL_REGISTRY_GRPC_SERVICE_PORT)",
"--metadata_source_config_type=postgresql",
"--postgres_config_host=MLMD_DB_HOST_PLACEHOLDER",
"--postgres_config_port=POSTGRES_PORT_PLACEHOLDER",
"--postgres_config_dbname=$(POSTGRES_DBNAME)",
"--postgres_config_user=$(POSTGRES_USER)",
"--postgres_config_password=$(POSTGRES_PASSWORD)",
# "--postgres_config_skip_db_creation=true",
"--enable_database_upgrade=true"]
- configMapRef:
name: model-registry-configmap
- secretRef:
name: model-registry-db-secrets
- configMapRef:
name: model-registry-db-parameters
args:
- --hostname=0.0.0.0
- --port=$(MODEL_REGISTRY_REST_SERVICE_PORT)
- --datastore-type=embedmd
- --embedmd-database-type=postgres
- --embedmd-database-dsn=postgresql://$(POSTGRES_USER):$(POSTGRES_PASSWORD)@$(POSTGRES_HOST):$(POSTGRES_PORT)/$(POSTGRES_DB)?sslmode=disable
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
POSTGRES_USER=root
POSTGRES_PASSWORD=password
POSTGRES_PASSWORD=test
2 changes: 1 addition & 1 deletion experimental/helm/charts/model-registry/ci/ci-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ server:
dataStoreType: embedmd

image:
tag: "v0.2.21"
tag: "v0.2.22"

# Configure readiness probe
rest:
Expand Down
2 changes: 1 addition & 1 deletion experimental/helm/charts/model-registry/ci/values-db.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ server:
replicas: 1
dataStoreType: embedmd
image:
tag: "v0.2.21"
tag: "v0.2.22"
resources:
limits:
cpu: 200m
Expand Down
10 changes: 6 additions & 4 deletions experimental/helm/charts/model-registry/ci/values-postgres.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ server:
replicas: 1
dataStoreType: embedmd
image:
tag: "v0.2.21"
tag: "v0.2.22"
resources:
limits:
cpu: 200m
Expand Down Expand Up @@ -41,9 +41,11 @@ database:
repository: postgres
tag: "14.7-alpine3.17"
auth:
database: mlmdpostgres
database: metadb
username: root
password: "password"
password: "test"
service:
name: model-registry-db
resources:
limits:
cpu: 200m
Expand All @@ -53,7 +55,7 @@ database:
memory: 128Mi
persistence:
enabled: true
size: 20Gi
size: 10Gi
external:
enabled: false

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ui:

image:
repository: ui
tag: "v0.2.21"
tag: "v0.2.22"
pullPolicy: Always

containerPort: 8080
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ui:

image:
repository: ui
tag: "v0.2.21"
tag: "v0.2.22"
pullPolicy: Always

containerPort: 8080
Expand Down
Loading
Loading