Skip to content

Commit c51d3ab

Browse files
committed
Support configuring image repository and tags through helm-charts
Signed-off-by: Michael Hotan <[email protected]>
1 parent 03fc4fc commit c51d3ab

File tree

7 files changed

+165
-145
lines changed

7 files changed

+165
-145
lines changed

charts/controlplane/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: controlplane
33
description: Deploys the Union controlplane components to onboard a kubernetes cluster to the Union Cloud.
44
type: application
55
icon: https://i.ibb.co/JxfDQsL/Union-Symbol-yellow-2.png
6-
version: 2025.10.3
6+
version: 2025.11.0
77
appVersion: 2025.10.0
88
kubeVersion: '>= 1.28.0-0'
99
dependencies:

charts/controlplane/templates/_helpers.tpl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -106,19 +106,19 @@ false
106106

107107
{{- define "unionai.image.repository" -}}
108108
{{- if and (hasKey .config "image") (hasKey .config.image "repository") }}
109-
{{ .config.image.repository }}
109+
{{ tpl .config.image.repository . }}
110110
{{- else if and (hasKey .Values "image") (hasKey .Values.image "repository") }}
111-
{{ .Values.image.repository }}
111+
{{ tpl .Values.image.repository . }}
112112
{{- else }}
113113
""
114114
{{- end }}
115115
{{- end }}
116116

117117
{{- define "unionai.image.tag" -}}
118-
{{- if and (hasKey .config "image") (hasKey .config.image "tag") }}
119-
{{ .config.image.tag }}
118+
{{- if and (hasKey .config "image") (hasKey .config.image "tag") (ne (tpl .config.image.tag .) "") }}
119+
{{ tpl .config.image.tag . }}
120120
{{- else if and (hasKey .Values "image") (hasKey .Values.image "tag") }}
121-
{{ .Values.image.tag }}
121+
{{ tpl .Values.image.tag . }}
122122
{{- else }}
123123
""
124124
{{- end }}
@@ -252,15 +252,15 @@ app.kubernetes.io/instance: {{ .Release.Name }}
252252
{{- $tag := "" }}
253253

254254
{{- if and (hasKey .config "image") (hasKey .config.image "repository") }}
255-
{{- $repo = .config.image.repository }}
255+
{{- $repo = tpl .config.image.repository . }}
256256
{{- else if and (hasKey .Values "image") (hasKey .Values.image "repository") }}
257-
{{- $repo = .Values.image.repository }}
257+
{{- $repo = tpl .Values.image.repository . }}
258258
{{- end }}
259259

260260
{{- if and (hasKey .config "image") (hasKey .config.image "tag") }}
261-
{{- $tag = .config.image.tag }}
261+
{{- $tag = tpl (.config.image.tag | toString) . }}
262262
{{- else if and (hasKey .Values "image") (hasKey .Values.image "tag") }}
263-
{{- $tag = .Values.image.tag }}
263+
{{- $tag = tpl (.Values.image.tag | toString) . }}
264264
{{- else if hasKey .Chart "AppVersion" }}
265265
{{- $tag = .Chart.AppVersion }}
266266
{{- end }}

charts/controlplane/templates/console/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ spec:
3636
- name: {{ include "console.name" . }}
3737
securityContext:
3838
{{- toYaml .Values.console.securityContext | nindent 10 }}
39-
image: "{{ .Values.console.image.repository }}:{{ .Values.console.image.tag | default .Values.image.tag }}"
39+
image: "{{ tpl .Values.console.image.repository . }}:{{ (tpl .Values.console.image.tag .) | default (tpl .Values.image.tag .) }}"
4040
imagePullPolicy: {{ .Values.console.image.pullPolicy }}
4141
ports:
4242
- name: http

charts/controlplane/values.yaml

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ global:
4747
# Note: Secret must contain "pass.txt" key
4848
KUBERNETES_SECRET_NAME: ""
4949

50+
# Union Private ECR repository prefix for control plane images
51+
# Contact Union for controlplane access and distribution.
52+
IMAGE_REPOSITORY_PREFIX: "643379628101.dkr.ecr.us-east-1.amazonaws.com/union-cp"
53+
5054
# ----------------------------------------------------------------------------
5155
# Additional Configuration
5256
# ----------------------------------------------------------------------------
@@ -58,9 +62,9 @@ global:
5862
dbPass: ""
5963
# -- Set the image used for control plane services
6064
image:
61-
repository: ""
65+
repository: "{{ .Values.global.IMAGE_REPOSITORY_PREFIX }}/services"
6266
pullPolicy: IfNotPresent
63-
tag: ""
67+
tag: "{{ .Chart.AppVersion }}"
6468

6569
# -- Default config for Union services (excluding flyte subchart)
6670
defaults:
@@ -512,9 +516,9 @@ console:
512516
replicaCount: 1
513517

514518
image:
515-
repository: ""
519+
repository: "{{ .Values.global.IMAGE_REPOSITORY_PREFIX }}/unionconsole"
516520
pullPolicy: IfNotPresent
517-
tag: ""
521+
tag: "{{ .Chart.AppVersion }}"
518522

519523
nameOverride: ""
520524
# More readable resource names.
@@ -590,7 +594,9 @@ flyte:
590594
replicaCount: 1
591595
# -- Set the image used for flyteadmin
592596
image:
593-
repository: ""
597+
# TODO flyte-core does not render templated repository and tag correctly.
598+
# PR: https://github.com/flyteorg/flyte/pull/6711
599+
repository: "643379628101.dkr.ecr.us-east-1.amazonaws.com/union-cp/services"
594600
pullPolicy: IfNotPresent
595601
tag: ""
596602
serviceAccount:
@@ -630,6 +636,14 @@ flyte:
630636
ephemeral-storage: 200Mi
631637
memory: 500Mi
632638

639+
flytescheduler:
640+
image:
641+
# TODO flyte-core does not render templated repository and tag correctly.
642+
# PR: https://github.com/flyteorg/flyte/pull/6711
643+
repository: "643379628101.dkr.ecr.us-east-1.amazonaws.com/union-cp/flytescheduler"
644+
pullPolicy: IfNotPresent
645+
tag: ""
646+
633647
workflow_scheduler:
634648
enabled: false
635649
type: native
@@ -638,7 +652,9 @@ flyte:
638652
enabled: true
639653
replicaCount: 1
640654
image:
641-
repository: "" # -- Set the repository for the public datacatalog image"
655+
# TODO flyte-core does not render templated repository and tag correctly.
656+
# PR: https://github.com/flyteorg/flyte/pull/6711
657+
repository: "643379628101.dkr.ecr.us-east-1.amazonaws.com/union-cp/datacatalog" # -- Set the repository for the public datacatalog image"
642658
tag: "" # -- Set the tag for the public datacatalog image
643659
pullPolicy: "IfNotPresent" # -- Set the pull policy for the datacatalog image
644660
resources:
@@ -662,7 +678,9 @@ flyte:
662678
podEnv: {}
663679
replicaCount: 1
664680
image:
665-
repository: "" # -- Set the repository for the console image"
681+
# TODO flyte-core does not render templated repository and tag correctly.
682+
# PR: https://github.com/flyteorg/flyte/pull/6711
683+
repository: "643379628101.dkr.ecr.us-east-1.amazonaws.com/union-cp/flyteconsole" # -- Set the repository for the console image"
666684
tag: "" # -- Set the tag for the console image
667685
resources:
668686
# flyteconsole service has less memory footprint but cpu goes up depends on traffic, If CPU use is high then we will use HPA
@@ -697,7 +715,9 @@ flyte:
697715
enabled: true
698716
replicaCount: 1
699717
image:
700-
repository: "" # -- Set the repository for the private cacheservice image"
718+
# TODO flyte-core does not render templated repository and tag correctly.
719+
# PR: https://github.com/flyteorg/flyte/pull/6711
720+
repository: "643379628101.dkr.ecr.us-east-1.amazonaws.com/union-cp/services" # -- Set the repository for the private cacheservice image"
701721
tag: "" # -- Set the tag for the private cacheservice datacatalog image
702722
pullPolicy: "IfNotPresent" # -- Set the pull policy for the private cacheservice image
703723
serviceAccount:

charts/dataplane/values.aws.selfhosted-intracluster.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,37 +43,37 @@ global:
4343
# Note: Bucket must exist before deployment
4444
METADATA_BUCKET: ""
4545

46-
# 6. S3_FAST_REGISTRATION_BUCKET - S3 bucket for code uploads
46+
# S3_FAST_REGISTRATION_BUCKET - S3 bucket for code uploads
4747
# Format: Valid S3 bucket name
4848
# Example: "my-union-fast-registration-bucket"
4949
# Note: Can be same as metadata bucket or separate
5050
FAST_REGISTRATION_BUCKET: ""
5151

52-
# 1. AWS_REGION - AWS region for S3 buckets
52+
# AWS_REGION - AWS region for S3 buckets
5353
# Format: AWS region code
5454
# Example: "us-east-1", "us-west-2", "eu-west-1"
5555
AWS_REGION: ""
5656

57-
# 2. BACKEND_IAM_ROLE_ARN - IAM role for Union backend services
57+
# BACKEND_IAM_ROLE_ARN - IAM role for Union backend services
5858
# Format: Full ARN
5959
# Example: "arn:aws:iam::123456789012:role/union-backend-role"
6060
# Permissions: S3 access, ECR (if private images)
6161
BACKEND_IAM_ROLE_ARN: ""
6262

63-
# 3. WORKER_IAM_ROLE_ARN - IAM role for workflow execution pods
63+
# WORKER_IAM_ROLE_ARN - IAM role for workflow execution pods
6464
# Format: Full ARN
6565
# Example: "arn:aws:iam::123456789012:role/union-worker-role"
6666
# Permissions: S3 access, AWS services used by workflows
6767
WORKER_IAM_ROLE_ARN: ""
6868

69-
# 1. CONTROLPLANE_INTRA_CLUSTER_HOST - Control plane ingress controller FQDN
69+
# CONTROLPLANE_INTRA_CLUSTER_HOST - Control plane ingress controller FQDN
7070
# Format: "SERVICE-NAME.NAMESPACE.svc.cluster.local"
7171
# Example: "controlplane-nginx-controller.union-cp.svc.cluster.local"
7272
# How to find: kubectl get svc -n union-cp | grep nginx-controller
7373
# Note: Used for direct communication with control plane
7474
CONTROLPLANE_INTRA_CLUSTER_HOST: ""
7575

76-
# 2. FLYTEADMIN_ENDPOINT - Internal Flyteadmin service endpoint
76+
# FLYTEADMIN_ENDPOINT - Internal Flyteadmin service endpoint
7777
# Format: "SERVICE-NAME.NAMESPACE.svc.cluster.local:PORT"
7878
# Example: "flyteadmin.union-cp.svc.cluster.local:81"
7979
# How to find: kubectl get svc -n union-cp flyteadmin

0 commit comments

Comments
 (0)