diff --git a/charts/kubeflow-pipelines/templates/_helpers.tpl b/charts/kubeflow-pipelines/templates/_helpers.tpl index e8907267d2..2c79c3b0ff 100644 --- a/charts/kubeflow-pipelines/templates/_helpers.tpl +++ b/charts/kubeflow-pipelines/templates/_helpers.tpl @@ -28,4 +28,16 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "kfp.fullname" . }} app.kubernetes.io/owner: {{ .Release.Namespace }} otomi.io/app: {{ include "kfp.fullname" . }} -{{- end }} \ No newline at end of file +{{- end }} + +{{- define "kubeflowRegistry" -}} +{{- default "ghcr.io/kubeflow" .Values.global.kubeflowRegistry }} +{{- end }} + +{{- define "tfxOssPublicRegistry" -}} +{{- default "gcr.io/tfx-oss-public" .Values.global.tfxOssPublicRegistry }} +{{- end }} + +{{- define "mlPipelineRegistry" -}} +{{- default "gcr.io/ml-pipeline" .Values.global.mlPipelineRegistry }} +{{- end }} diff --git a/charts/kubeflow-pipelines/templates/cache-deployer/deployment.yaml b/charts/kubeflow-pipelines/templates/cache-deployer/deployment.yaml index fdf60e67b2..4b965af564 100644 --- a/charts/kubeflow-pipelines/templates/cache-deployer/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/cache-deployer/deployment.yaml @@ -25,7 +25,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: ghcr.io/kubeflow/kfp-cache-deployer:{{ .Chart.AppVersion }} + image: {{ include "kubeflowRegistry" . }}/kfp-cache-deployer:{{ .Chart.AppVersion }} imagePullPolicy: Always name: main {{- with .Values.cacheDeployer.resources }} @@ -33,4 +33,4 @@ spec: {{- end }} restartPolicy: Always serviceAccountName: kubeflow-pipelines-cache-deployer-sa ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/cache-server/deployment.yaml b/charts/kubeflow-pipelines/templates/cache-server/deployment.yaml index 1f4dc5182b..e16d22bca7 100644 --- a/charts/kubeflow-pipelines/templates/cache-server/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/cache-server/deployment.yaml @@ -81,7 +81,7 @@ spec: fieldPath: metadata.namespace - name: WEBHOOK_PORT value: "8443" - image: ghcr.io/kubeflow/kfp-cache-server:{{ .Chart.AppVersion }} + image: {{ include "kubeflowRegistry" . }}/kfp-cache-server:{{ .Chart.AppVersion }} imagePullPolicy: Always securityContext: allowPrivilegeEscalation: false @@ -109,4 +109,4 @@ spec: - name: webhook-tls-certs secret: secretName: webhook-server-tls ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/metadata-envoy/deployment.yaml b/charts/kubeflow-pipelines/templates/metadata-envoy/deployment.yaml index 28dd6f2457..fb68d99ea5 100644 --- a/charts/kubeflow-pipelines/templates/metadata-envoy/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/metadata-envoy/deployment.yaml @@ -20,7 +20,7 @@ spec: component: metadata-envoy spec: containers: - - image: ghcr.io/kubeflow/kfp-metadata-envoy:{{ .Chart.AppVersion }} + - image: {{ include "kubeflowRegistry" . }}/kfp-metadata-envoy:{{ .Chart.AppVersion }} name: container {{- with .Values.metadataEnvoy.resources }} resources: {{- . | toYaml | nindent 12 }} @@ -40,4 +40,4 @@ spec: capabilities: drop: - ALL ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/metadata-grpc/deployment.yaml b/charts/kubeflow-pipelines/templates/metadata-grpc/deployment.yaml index c0078d4ade..797a27b741 100644 --- a/charts/kubeflow-pipelines/templates/metadata-grpc/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/metadata-grpc/deployment.yaml @@ -54,7 +54,7 @@ spec: configMapKeyRef: key: mysqlPort name: pipeline-install-config - image: gcr.io/tfx-oss-public/ml_metadata_store_server:1.14.0 + image: {{ include "tfxOssPublicRegistry" . }}/ml_metadata_store_server:1.14.0 securityContext: allowPrivilegeEscalation: false seccompProfile: @@ -85,4 +85,4 @@ spec: port: grpc-api timeoutSeconds: 2 serviceAccountName: metadata-grpc-server ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/metadata-writer/deployment.yaml b/charts/kubeflow-pipelines/templates/metadata-writer/deployment.yaml index 92a12af030..ea1bb5930e 100644 --- a/charts/kubeflow-pipelines/templates/metadata-writer/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/metadata-writer/deployment.yaml @@ -23,7 +23,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: ghcr.io/kubeflow/kfp-metadata-writer:{{ .Chart.AppVersion }} + image: {{ include "kubeflowRegistry" . }}/kfp-metadata-writer:{{ .Chart.AppVersion }} securityContext: allowPrivilegeEscalation: false seccompProfile: @@ -39,4 +39,4 @@ spec: resources: {{- . | toYaml | nindent 12 }} {{- end }} serviceAccountName: kubeflow-pipelines-metadata-writer ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/ml-pipeline-persistenceagent/deployment.yaml b/charts/kubeflow-pipelines/templates/ml-pipeline-persistenceagent/deployment.yaml index 0b430522be..1e036f81b0 100644 --- a/charts/kubeflow-pipelines/templates/ml-pipeline-persistenceagent/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/ml-pipeline-persistenceagent/deployment.yaml @@ -30,7 +30,7 @@ spec: value: "2" - name: LOG_LEVEL value: info - image: ghcr.io/kubeflow/kfp-persistence-agent:{{ .Chart.AppVersion }} + image: {{ include "kubeflowRegistry" . }}/kfp-persistence-agent:{{ .Chart.AppVersion }} imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false @@ -58,4 +58,4 @@ spec: audience: pipelines.kubeflow.org expirationSeconds: 3600 path: persistenceagent-sa-token ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/ml-pipeline-scheduledworkflow/deployment.yaml b/charts/kubeflow-pipelines/templates/ml-pipeline-scheduledworkflow/deployment.yaml index 9e9d9a983b..26193a9fb6 100644 --- a/charts/kubeflow-pipelines/templates/ml-pipeline-scheduledworkflow/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/ml-pipeline-scheduledworkflow/deployment.yaml @@ -31,7 +31,7 @@ spec: configMapKeyRef: key: cronScheduleTimezone name: pipeline-install-config - image: ghcr.io/kubeflow/kfp-scheduled-workflow-controller:{{ .Chart.AppVersion }} + image: {{ include "kubeflowRegistry" . }}/kfp-scheduled-workflow-controller:{{ .Chart.AppVersion }} imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false @@ -48,4 +48,4 @@ spec: resources: {{- . | toYaml | nindent 12 }} {{- end }} serviceAccountName: ml-pipeline-scheduledworkflow ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/ml-pipeline-ui/deployment.yaml b/charts/kubeflow-pipelines/templates/ml-pipeline-ui/deployment.yaml index 01a7baa2d7..417959dd8e 100644 --- a/charts/kubeflow-pipelines/templates/ml-pipeline-ui/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/ml-pipeline-ui/deployment.yaml @@ -40,7 +40,7 @@ spec: fieldPath: metadata.namespace - name: DISABLE_GKE_METADATA value: "true" - image: ghcr.io/kubeflow/kfp-frontend:{{ .Chart.AppVersion }} + image: {{ include "kubeflowRegistry" . }}/kfp-frontend:{{ .Chart.AppVersion }} imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false @@ -91,4 +91,4 @@ spec: - configMap: name: ml-pipeline-ui-configmap name: config-volume ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/ml-pipeline-viewer-crd/deployment.yaml b/charts/kubeflow-pipelines/templates/ml-pipeline-viewer-crd/deployment.yaml index 20c39a0239..e9515b69fc 100644 --- a/charts/kubeflow-pipelines/templates/ml-pipeline-viewer-crd/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/ml-pipeline-viewer-crd/deployment.yaml @@ -26,7 +26,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: ghcr.io/kubeflow/kfp-viewer-crd-controller:{{ .Chart.AppVersion }} + image: {{ include "kubeflowRegistry" . }}/kfp-viewer-crd-controller:{{ .Chart.AppVersion }} imagePullPolicy: Always securityContext: allowPrivilegeEscalation: false @@ -43,4 +43,4 @@ spec: resources: {{- . | toYaml | nindent 12 }} {{- end }} serviceAccountName: ml-pipeline-viewer-crd-service-account ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/ml-pipeline-visualizationserver/deployment.yaml b/charts/kubeflow-pipelines/templates/ml-pipeline-visualizationserver/deployment.yaml index 16d03b0279..d661670c96 100644 --- a/charts/kubeflow-pipelines/templates/ml-pipeline-visualizationserver/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/ml-pipeline-visualizationserver/deployment.yaml @@ -19,7 +19,7 @@ spec: application-crd-id: kubeflow-pipelines spec: containers: - - image: ghcr.io/kubeflow/kfp-visualization-server:{{ .Chart.AppVersion }} + - image: {{ include "kubeflowRegistry" . }}/kfp-visualization-server:{{ .Chart.AppVersion }} imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false @@ -63,4 +63,4 @@ spec: resources: {{- . | toYaml | nindent 12 }} {{- end }} serviceAccountName: ml-pipeline-visualizationserver ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/ml-pipeline/deployment.yaml b/charts/kubeflow-pipelines/templates/ml-pipeline/deployment.yaml index 769a0c953e..6407bd8687 100644 --- a/charts/kubeflow-pipelines/templates/ml-pipeline/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/ml-pipeline/deployment.yaml @@ -123,7 +123,7 @@ spec: configMapKeyRef: name: pipeline-install-config key: objPort - image: ghcr.io/kubeflow/kfp-api-server:{{ .Chart.AppVersion }} + image: {{ include "kubeflowRegistry" . }}/kfp-api-server:{{ .Chart.AppVersion }} imagePullPolicy: IfNotPresent livenessProbe: exec: @@ -181,4 +181,4 @@ spec: drop: - ALL serviceAccountName: ml-pipeline ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/mysql/deployment.yaml b/charts/kubeflow-pipelines/templates/mysql/deployment.yaml index 0922e26c83..c380e2aef6 100644 --- a/charts/kubeflow-pipelines/templates/mysql/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/mysql/deployment.yaml @@ -30,7 +30,7 @@ spec: secretKeyRef: name: kfp-mysql-secret key: password - image: gcr.io/ml-pipeline/mysql:8.0.26 + image: {{ include "mlPipelineRegistry" . }}/mysql:8.0.26 name: ml-pipeline-mysql ports: - containerPort: 3306 @@ -46,4 +46,4 @@ spec: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pv-claim ---- \ No newline at end of file +--- diff --git a/charts/kubeflow-pipelines/templates/workflow-controller/deployment.yaml b/charts/kubeflow-pipelines/templates/workflow-controller/deployment.yaml index c570ff6116..3c7965fa27 100644 --- a/charts/kubeflow-pipelines/templates/workflow-controller/deployment.yaml +++ b/charts/kubeflow-pipelines/templates/workflow-controller/deployment.yaml @@ -22,7 +22,7 @@ spec: - --configmap - workflow-controller-configmap - --executor-image - - gcr.io/ml-pipeline/argoexec:v3.4.17-license-compliance + - {{ include "mlPipelineRegistry" . }}/argoexec:v3.4.17-license-compliance - --namespaced command: - workflow-controller @@ -32,7 +32,7 @@ spec: fieldRef: apiVersion: v1 fieldPath: metadata.name - image: gcr.io/ml-pipeline/workflow-controller:v3.4.17-license-compliance + image: {{ include "mlPipelineRegistry" . }}/workflow-controller:v3.4.17-license-compliance livenessProbe: failureThreshold: 3 httpGet: @@ -61,4 +61,4 @@ spec: priorityClassName: workflow-controller securityContext: runAsNonRoot: true - serviceAccountName: argo \ No newline at end of file + serviceAccountName: argo diff --git a/charts/kubeflow-pipelines/values.yaml b/charts/kubeflow-pipelines/values.yaml index 5892a022ee..64010e2712 100644 --- a/charts/kubeflow-pipelines/values.yaml +++ b/charts/kubeflow-pipelines/values.yaml @@ -1,3 +1,12 @@ +# Global registry override options for container images: +# - Kubeflow: defaults to ghcr.io/kubeflow +# - ML-Pipeline: defaults to gcr.io/ml-pipeline +# - TensorFlow Extended (TFX): defaults to gcr.io/tfx-oss-public +global: + kubeflowRegistry: + mlPipelineRegistry: + tfxOssPublicRegistry: + objectStorage: endpoint: "" region: "" @@ -21,7 +30,7 @@ metadataWriter: mlPipeline: resources: {} -mlPipelinePersistenceagent: +mlPipelinePersistenceagent: resources: {} mlPipelineScheduledworkflow: @@ -46,4 +55,4 @@ mysql: - ReadWriteOnce workflowController: - resources: {} \ No newline at end of file + resources: {} diff --git a/values/kubeflow-pipelines/kubeflow-pipelines.gotmpl b/values/kubeflow-pipelines/kubeflow-pipelines.gotmpl index 6028e2297d..d64b7422f3 100644 --- a/values/kubeflow-pipelines/kubeflow-pipelines.gotmpl +++ b/values/kubeflow-pipelines/kubeflow-pipelines.gotmpl @@ -3,6 +3,13 @@ {{- $obj := $v.obj.provider }} {{- $lb := index $obj.linode.buckets "kubeflow-pipelines" }} +{{- if $v.otomi.linodeLkeImageRepository }} +global: + kubeflowRegistry: "{{ $v.otomi.linodeLkeImageRepository }}/ghcr/kubeflow" + mlPipelineRegistry: "{{ $v.otomi.linodeLkeImageRepository }}/gcr/ml-pipeline" + tfxOssPublicRegistry: "{{ $v.otomi.linodeLkeImageRepository }}/gcr/tfx-oss-public" +{{- end }} + objectStorage: {{- if eq $obj.type "minioLocal" }} endpoint: minio.minio.svc.cluster.local:9000 @@ -27,7 +34,7 @@ metadataEnvoy: metadataGrpc: resources: {{- $kfp.resources.metadataGrpc | toYaml | nindent 4 }} -metadataWriter: +metadataWriter: resources: {{- $kfp.resources.metadataWriter | toYaml | nindent 4 }} mlPipeline: @@ -57,4 +64,4 @@ mysql: - ReadWriteOnce workflowController: - resources: {{- $kfp.resources.workflowController | toYaml | nindent 4 }} \ No newline at end of file + resources: {{- $kfp.resources.workflowController | toYaml | nindent 4 }}