Skip to content

Commit 6f83082

Browse files
authored
feat(template/helm): Split operator+product image repos (#590)
1 parent b7f6373 commit 6f83082

3 files changed

Lines changed: 20 additions & 9 deletions

File tree

template/Tiltfile

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,22 @@
22
meta = read_json('nix/meta.json')
33
operator_name = meta['operator']['name']
44

5-
# If tilt_options.json exists read it and load the default_registry and default_repository value from it
5+
# If tilt_options.json exists read it and load the default_registry, default_operator_repository,
6+
# and default_product_repository value from it
67
settings = read_json('tilt_options.json', default={})
78
registry = settings.get('default_registry', 'oci.stackable.tech')
8-
repository = settings.get('default_repository', registry + '/' + 'sdp')
9-
operator_image_name = repository + '/' + operator_name
109

11-
# Configure default registry either read from config file above, or with default value of "oci.stackable.tech"
10+
# Construct the operator image repository. It uses the "sandbox" instead of the "sdp" namespace to
11+
# separate "testing/local" images from official (published) images.
12+
operator_repository = settings.get('default_operator_repository', registry + '/' + 'sandbox')
13+
operator_image_name = operator_repository + '/' + operator_name
14+
15+
# For the product image, we wanna use the images in the "sdp" namespace, because "sandbox" doesn't
16+
# contain those images (by default).
17+
product_repository = settings.get('default_product_repository', registry + '/' + 'sdp')
18+
19+
# Configure default registry either read from config file above, or with default value of
20+
# "oci.stackable.tech"
1221
default_registry(registry)
1322

1423
custom_build(
@@ -31,14 +40,16 @@ k8s_kind('DaemonSet', image_json_path='{.spec.template.metadata.annotations.inte
3140
# supported by helm(set).
3241
helm_values = settings.get('helm_values', None)
3342

34-
helm_override_image_repository = 'image.repository=' + repository
43+
helm_override_operator_image_repository = 'image.repository=' + operator_repository
44+
helm_override_product_image_repository = 'image.productRepository=' + product_repository
3545

3646
k8s_yaml(helm(
3747
'deploy/helm/' + operator_name,
3848
name=operator_name,
3949
namespace="stackable-operators",
4050
set=[
41-
helm_override_image_repository,
51+
helm_override_operator_image_repository,
52+
helm_override_product_image_repository,
4253
],
4354
values=helm_values,
4455
))

template/deploy/helm/[[operator]]/templates/_helpers.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ helm.sh/test: {{ include "operator.chart" . }}
7979
{{- end }}
8080

8181
{{/*
82-
Build the full container image reference.
82+
Build the full operator container image reference.
8383
*/}}
8484
{{- define "operator.image" -}}
8585
{{- printf "%s/%s:%s" .Values.image.repository .Chart.Name (.Values.image.tag | default .Chart.AppVersion) -}}

template/deploy/helm/[[operator]]/templates/deployment.yaml.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ spec:
7171
- name: OPERATOR_SERVICE_NAME
7272
value: {{ include "operator.fullname" . }}
7373

74-
# The image repository, like "oci.stackable.tech/sdp"
74+
# The product image repository, like "oci.stackable.tech/sdp".
7575
- name: IMAGE_REPOSITORY
76-
value: {{ .Values.image.repository }}
76+
value: {{ .Values.image.productRepository | default .Values.image.repository }}
7777

7878
# Operators need to know the node name they are running on, to e.g. discover the
7979
# Kubernetes domain name from the kubelet API.

0 commit comments

Comments
 (0)