Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More consistent helm package versions #1251

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
84 changes: 47 additions & 37 deletions Makefile
Expand Up @@ -285,16 +285,23 @@ $(foreach IMAGE,$(IMAGES),clean-$(IMAGE)-image): clean-%-image:

#####################################################################################################################
update-chart-deps: build/toolchain/bin/helm$(EXE_EXTENSION)
(cd $(REPOSITORY_ROOT)/install/helm/open-match; $(HELM) repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com; $(HELM) dependency update)
$(HELM) repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
(cd $(REPOSITORY_ROOT)/install/helm/open-match; $(HELM) dependency update)
(cd $(REPOSITORY_ROOT)/install/helm/open-match/subcharts/open-match-telemetry; $(HELM) dependency update)

lint-chart: build/toolchain/bin/helm$(EXE_EXTENSION) build/toolchain/bin/ct$(EXE_EXTENSION)
(cd $(REPOSITORY_ROOT)/install/helm; $(HELM) lint $(OPEN_MATCH_HELM_NAME))
$(CHART_TESTING) lint --all --chart-yaml-schema $(TOOLCHAIN_BIN)/etc/chart_schema.yaml --lint-conf $(TOOLCHAIN_BIN)/etc/lintconf.yaml --chart-dirs $(REPOSITORY_ROOT)/install/helm/
$(CHART_TESTING) lint-and-install --all --chart-yaml-schema $(TOOLCHAIN_BIN)/etc/chart_schema.yaml --lint-conf $(TOOLCHAIN_BIN)/etc/lintconf.yaml --chart-dirs $(REPOSITORY_ROOT)/install/helm/

build/chart/open-match-$(BASE_VERSION).tgz: build/toolchain/bin/helm$(EXE_EXTENSION) lint-chart
patch-chart-image-values:
$(SED_REPLACE) 's| registry: .*| registry: $(REGISTRY)|g' $(REPOSITORY_ROOT)/install/helm/open-match/values.yaml

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

values.yaml is commited, so running any command which calls into this would cause unwanted churn on these file, right?

Why are you replacing the current helm_image_tags?

Copy link
Contributor Author

@TBBle TBBle Sep 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because right now, the generated chart contains floating image tags (0.0.0-dev), and I don't think imagePullPolicy: Always is set here. (I checked, it's set by default in values.yaml... A different code-smell.)

So installing this chart will mean your pods are running whatever version of the image happened to be built from master at the time of first pull for that node pod startup. Over time, this means you'll end up with a mix of different versions of the same image, which seems a huge risk.

Copy link
Contributor Author

@TBBle TBBle Sep 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Patching the registry is needed because the auto-build images are not pushed to gcr.io/$(OPEN_MATCH_PUBLIC_IMAGES_PROJECT_ID) (which is what's in the committed values.yaml), but to gcr.io/$(OPEN_MATCH_BUILD_PROJECT_ID).

The idea here is to test the same thing we ship. Before this change, the behaviour was to generate templates from the Helm chart, and patch those generated files for CI, leaving the Helm chart untested and invalid out-of-the-box.

Another option would be to make the helm calls for CI, and the users of the 0.0.0-dev chart, pass --set global.image.registry=gcr.io/$(OPEN_MATCH_BUILD_PROJECT_ID) to Helm on each invocation (or when using it as a subchart, hard-coding that in the parent chart's values.yaml).

A different solution would be to have the Helm chart template its registry value to detect a GIT SHA as the image tag, and in that case replace gcr.io/$(OPEN_MATCH_PUBLIC_IMAGES_PROJECT_ID) with gcr.io/$(OPEN_MATCH_BUILD_PROJECT_ID) if the user has not overridden the registry directly.

I feel like that would be less clear than having the same script that pushes the images also tell the Helm package where it pushed those images to, but it would mean the Helm chart is packaged from the unadulterated source, which is nice.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyway, the change made by this target should not be committed, since it's patching in build-specific values.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, I don't want commands making changes to files which shouldn't be committed (exception: anything in .gitignore, obviously). At best it'd be annoying to revert, especially when there's other changes to the same file, at worst changes accidentally make there way into being committed.

Why is simply setting the variables when building the charts not the right course of action here?

Sorry for the delay reviewing this - I wasn't involved in writing the charts nor the build system so I need time to become familiar and figure out the best solution here.

Copy link
Contributor Author

@TBBle TBBle Sep 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can't set variables except .Chart.Version and .Chart.AppVersion when calling helm package. The best you can do is change the values.yaml before calling helm package. That's why I suggested as a TODO to move the image tag be .Chart.AppVersion, because we can set that at package-build time, to remove 50% of this editing.

To get rid of the other 50% of the editing, we'd need to instead have a macro reacting to .Chart.AppVersion or .Chart.Version, and recognising an auto-build, to replace the existing hard-coded default repo with two hard-coded default repos, selected by, e.g. the presence of -dev in .Chart.Version.

However, both of the above changes are complicated by the current muliti-chart setup, as the sub-charts always have version 0.0.0-dev, even in release builds, because we don't use helm package for them, but source them inline, which means there's no opportunity to set .Chart.Version and .Chart.AppVersion at package time.

We could, as a separate change, modify the build system to do helm package for the subcharts rather than helm dep update on the parent charts, perhaps. But per #1244, the whole subcharting setup in Open Match is pretty messy, and I'd rather spent the time unwinding that, if I was going to spend time on it. (And any Open Match time I spend has higher priorities, like the outstanding documentation updates for #1235).

Perhaps with some clever scripting, the values.yaml changes could be reverted as part of the Make execution? Although obviously that won't fly if the process fails and the user just runs it again, because then on next run, it'd be changing from the modified files anyway, and change them back to the modified files.

To be fair, this is a pretty common problem I've hit with container image repositories and registries, if you have separate 'release' and 'auto-build' output locations. There was a proposal for Helm to make image-registry handling more formalised and allow solving issues like this more streamlined, but it didn't seem to go anywhere.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can't set variables except .Chart.Version and .Chart.AppVersion when calling helm package.

(╯°□°)╯︵ ┻━┻

Copy link
Contributor Author

@TBBle TBBle Sep 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was briefly a feature to do exactly that, but it broke other workflows, e.g., stripped all the comments from the values.yaml, and was backed out. The feature might come back in the future, but it's been a slow, 2-year burn so far. So I'm not personally building any CI pipelines around the assumption I'll have it in a meaningful timeframe.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was thinking about this more, would it make sense to switch to "building" charts?

Basically:

  • Copy chart folder from install/ into build/ (which is in .gitignore)
  • Build subcharts and put them in the proper folder
  • Edit the version and image info
  • Build the actual chart

This would also get rid of committed zip file sub charts (which kind of also shows that there are build steps to the charts already, they're just a bit of a hack today.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, that would definitely be an option. And if you're doing that, I'd just copy the current subcharts into the charts/ folder, rather than building them separately and copying the tarballs in, since (as far as I recall) they are not deployed separately anywhere anyway. In effect, Helm's just extracting those those tarballs internally and treating the whole thing as one big directory anyway, so it removes a needless step of "building" the subcharts, when they don't really have an independent life outside the open-match chart.

You'd still run helm dep up or helm dep build (I forget which one is in the OM workflow) to update external charts, but that won't touch chart directories in the charts/ folder.

# TODO: Restructure Helm charts so that the default for global.images.tag can be `.Chart.AppVersion`, and then remove this patching.
$(SED_REPLACE) 's| tag: .*| tag: $(TAG)|g' $(REPOSITORY_ROOT)/install/helm/open-match/values.yaml

build/chart/open-match-$(BASE_VERSION).tgz: build/toolchain/bin/helm$(EXE_EXTENSION) lint-chart patch-chart-image-values update-chart-deps
mkdir -p $(BUILD_DIR)/chart/
$(HELM) package -d $(BUILD_DIR)/chart/ --version $(BASE_VERSION) $(REPOSITORY_ROOT)/install/helm/open-match
$(HELM) package -d $(BUILD_DIR)/chart/ --version $(BASE_VERSION) --app-version $(TAG) $(REPOSITORY_ROOT)/install/helm/open-match

build/chart/index.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) gcloud build/chart/open-match-$(BASE_VERSION).tgz
mkdir -p $(BUILD_DIR)/chart-index/
Expand All @@ -306,6 +313,10 @@ build/chart/index.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) gcloud build/ch
build/chart/index.yaml.$(YEAR_MONTH_DAY): build/chart/index.yaml
cp $(BUILD_DIR)/chart/index.yaml $(BUILD_DIR)/chart/index.yaml.$(YEAR_MONTH_DAY)

ifneq ($(BASE_VERSION), 0.0.0-dev)
build/chart/: REGISTRY = gcr.io/$(OPEN_MATCH_PUBLIC_IMAGES_PROJECT_ID)
build/chart/: TAG = $(BASE_VERSION)
endif
build/chart/: build/chart/index.yaml build/chart/index.yaml.$(YEAR_MONTH_DAY)

install-chart-prerequisite: build/toolchain/bin/kubectl$(EXE_EXTENSION) update-chart-deps
Expand All @@ -316,18 +327,17 @@ install-chart-prerequisite: build/toolchain/bin/kubectl$(EXE_EXTENSION) update-c
HELM_UPGRADE_FLAGS = --cleanup-on-fail -i --no-hooks --debug --timeout=600s --namespace=$(OPEN_MATCH_KUBERNETES_NAMESPACE) --set global.gcpProjectId=$(GCP_PROJECT_ID) --set open-match-override.enabled=true --set redis.password=$(REDIS_DEV_PASSWORD)
# Used for generate static yamls. Install om-configmap-override.yaml as needed.
HELM_TEMPLATE_FLAGS = --no-hooks --namespace $(OPEN_MATCH_KUBERNETES_NAMESPACE) --set usingHelmTemplate=true
HELM_IMAGE_FLAGS = --set global.image.registry=$(REGISTRY) --set global.image.tag=$(TAG)

install-demo: build/toolchain/bin/helm$(EXE_EXTENSION)
install-demo:
cp $(REPOSITORY_ROOT)/install/02-open-match-demo.yaml $(REPOSITORY_ROOT)/install/tmp-demo.yaml
$(SED_REPLACE) 's|gcr.io/open-match-public-images|$(REGISTRY)|g' $(REPOSITORY_ROOT)/install/tmp-demo.yaml
$(SED_REPLACE) 's|0.0.0-dev|$(TAG)|g' $(REPOSITORY_ROOT)/install/tmp-demo.yaml
$(KUBECTL) apply -f $(REPOSITORY_ROOT)/install/tmp-demo.yaml
rm $(REPOSITORY_ROOT)/install/tmp-demo.yaml

# install-large-chart will install open-match-core, open-match-demo with the demo evaluator and mmf, and telemetry supports.
install-large-chart: install-chart-prerequisite install-demo build/toolchain/bin/helm$(EXE_EXTENSION) install/helm/open-match/secrets/
$(HELM) upgrade $(OPEN_MATCH_HELM_NAME) $(HELM_UPGRADE_FLAGS) --atomic install/helm/open-match $(HELM_IMAGE_FLAGS) \
install-large-chart: install-chart-prerequisite install-demo build/toolchain/bin/helm$(EXE_EXTENSION) install/helm/open-match/secrets/ patch-chart-image-values
$(HELM) upgrade $(OPEN_MATCH_HELM_NAME) $(HELM_UPGRADE_FLAGS) --atomic install/helm/open-match \
--set open-match-telemetry.enabled=true \
--set open-match-customize.enabled=true \
--set open-match-customize.evaluator.enabled=true \
Expand All @@ -336,14 +346,14 @@ install-large-chart: install-chart-prerequisite install-demo build/toolchain/bin
--set global.telemetry.prometheus.enabled=true

# install-chart will install open-match-core, open-match-demo, with the demo evaluator and mmf.
install-chart: install-chart-prerequisite install-demo build/toolchain/bin/helm$(EXE_EXTENSION) install/helm/open-match/secrets/
$(HELM) upgrade $(OPEN_MATCH_HELM_NAME) $(HELM_UPGRADE_FLAGS) --atomic install/helm/open-match $(HELM_IMAGE_FLAGS) \
install-chart: install-chart-prerequisite install-demo build/toolchain/bin/helm$(EXE_EXTENSION) install/helm/open-match/secrets/ patch-chart-image-values
$(HELM) upgrade $(OPEN_MATCH_HELM_NAME) $(HELM_UPGRADE_FLAGS) --atomic install/helm/open-match \
--set open-match-customize.enabled=true \
--set open-match-customize.evaluator.enabled=true

# install-scale-chart will wait for installing open-match-core with telemetry supports then install open-match-scale chart.
install-scale-chart: install-chart-prerequisite build/toolchain/bin/helm$(EXE_EXTENSION) install/helm/open-match/secrets/
$(HELM) upgrade $(OPEN_MATCH_HELM_NAME) $(HELM_UPGRADE_FLAGS) --atomic install/helm/open-match $(HELM_IMAGE_FLAGS) -f install/helm/open-match/values-production.yaml \
install-scale-chart: install-chart-prerequisite build/toolchain/bin/helm$(EXE_EXTENSION) install/helm/open-match/secrets/ patch-chart-image-values
$(HELM) upgrade $(OPEN_MATCH_HELM_NAME) $(HELM_UPGRADE_FLAGS) --atomic install/helm/open-match -f install/helm/open-match/values-production.yaml \
--set open-match-telemetry.enabled=true \
--set open-match-customize.enabled=true \
--set open-match-customize.function.enabled=true \
Expand All @@ -352,16 +362,16 @@ install-scale-chart: install-chart-prerequisite build/toolchain/bin/helm$(EXE_EX
--set global.telemetry.grafana.enabled=true \
--set global.telemetry.jaeger.enabled=false \
--set global.telemetry.prometheus.enabled=true
$(HELM) template $(OPEN_MATCH_HELM_NAME)-scale install/helm/open-match $(HELM_TEMPLATE_FLAGS) $(HELM_IMAGE_FLAGS) -f install/helm/open-match/values-production.yaml \
$(HELM) template $(OPEN_MATCH_HELM_NAME)-scale install/helm/open-match $(HELM_TEMPLATE_FLAGS) -f install/helm/open-match/values-production.yaml \
--set open-match-core.enabled=false \
--set open-match-core.redis.enabled=false \
--set global.telemetry.prometheus.enabled=true \
--set global.telemetry.grafana.enabled=true \
--set open-match-scale.enabled=true | $(KUBECTL) apply -f -

# install-ci-chart will install open-match-core with pool based mmf for end-to-end in-cluster test.
install-ci-chart: install-chart-prerequisite build/toolchain/bin/helm$(EXE_EXTENSION) install/helm/open-match/secrets/
$(HELM) upgrade $(OPEN_MATCH_HELM_NAME) $(HELM_UPGRADE_FLAGS) --atomic install/helm/open-match $(HELM_IMAGE_FLAGS) \
install-ci-chart: install-chart-prerequisite build/toolchain/bin/helm$(EXE_EXTENSION) install/helm/open-match/secrets/ patch-chart-image-values
$(HELM) upgrade $(OPEN_MATCH_HELM_NAME) $(HELM_UPGRADE_FLAGS) --atomic install/helm/open-match \
--set query.replicas=1,frontend.replicas=1,backend.replicas=1 \
--set evaluator.hostName=open-match-test \
--set evaluator.grpcPort=50509 \
Expand All @@ -387,79 +397,79 @@ ifneq ($(BASE_VERSION), 0.0.0-dev)
install/yaml/: REGISTRY = gcr.io/$(OPEN_MATCH_PUBLIC_IMAGES_PROJECT_ID)
install/yaml/: TAG = $(BASE_VERSION)
endif
install/yaml/: update-chart-deps install/yaml/install.yaml install/yaml/01-open-match-core.yaml install/yaml/02-open-match-demo.yaml install/yaml/03-prometheus-chart.yaml install/yaml/04-grafana-chart.yaml install/yaml/05-jaeger-chart.yaml install/yaml/06-open-match-override-configmap.yaml install/yaml/07-open-match-default-evaluator.yaml
install/yaml/: install/yaml/install.yaml install/yaml/01-open-match-core.yaml install/yaml/02-open-match-demo.yaml install/yaml/03-prometheus-chart.yaml install/yaml/04-grafana-chart.yaml install/yaml/05-jaeger-chart.yaml install/yaml/06-open-match-override-configmap.yaml install/yaml/07-open-match-default-evaluator.yaml

# We have to hard-code the Jaeger endpoints as we are excluding Jaeger, so Helm cannot determine the endpoints from the Jaeger subchart
install/yaml/01-open-match-core.yaml: build/toolchain/bin/helm$(EXE_EXTENSION)
install/yaml/01-open-match-core.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) build/chart/open-match-$(BASE_VERSION).tgz
mkdir -p install/yaml/
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) $(HELM_IMAGE_FLAGS) \
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) \
--set-string global.telemetry.jaeger.agentEndpoint="$(OPEN_MATCH_HELM_NAME)-jaeger-agent:6831" \
--set-string global.telemetry.jaeger.collectorEndpoint="http://$(OPEN_MATCH_HELM_NAME)-jaeger-collector:14268/api/traces" \
install/helm/open-match > install/yaml/01-open-match-core.yaml
build/chart/open-match-$(BASE_VERSION).tgz > install/yaml/01-open-match-core.yaml

install/yaml/02-open-match-demo.yaml: build/toolchain/bin/helm$(EXE_EXTENSION)
install/yaml/02-open-match-demo.yaml:
mkdir -p install/yaml/
cp $(REPOSITORY_ROOT)/install/02-open-match-demo.yaml $(REPOSITORY_ROOT)/install/yaml/02-open-match-demo.yaml
$(SED_REPLACE) 's|0.0.0-dev|$(TAG)|g' $(REPOSITORY_ROOT)/install/yaml/02-open-match-demo.yaml
$(SED_REPLACE) 's|gcr.io/open-match-public-images|$(REGISTRY)|g' $(REPOSITORY_ROOT)/install/yaml/02-open-match-demo.yaml

install/yaml/03-prometheus-chart.yaml: build/toolchain/bin/helm$(EXE_EXTENSION)
install/yaml/03-prometheus-chart.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) build/chart/open-match-$(BASE_VERSION).tgz
mkdir -p install/yaml/
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) $(HELM_IMAGE_FLAGS) \
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) \
--set open-match-core.enabled=false \
--set open-match-core.redis.enabled=false \
--set open-match-telemetry.enabled=true \
--set global.telemetry.prometheus.enabled=true \
install/helm/open-match > install/yaml/03-prometheus-chart.yaml
build/chart/open-match-$(BASE_VERSION).tgz > install/yaml/03-prometheus-chart.yaml

# We have to hard-code the Prometheus Server URL as we are excluding Prometheus, so Helm cannot determine the URL from the Prometheus subchart
install/yaml/04-grafana-chart.yaml: build/toolchain/bin/helm$(EXE_EXTENSION)
install/yaml/04-grafana-chart.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) build/chart/open-match-$(BASE_VERSION).tgz
mkdir -p install/yaml/
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) $(HELM_IMAGE_FLAGS) \
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) \
--set open-match-core.enabled=false \
--set open-match-core.redis.enabled=false \
--set open-match-telemetry.enabled=true \
--set global.telemetry.grafana.enabled=true \
--set-string global.telemetry.grafana.prometheusServer="http://$(OPEN_MATCH_HELM_NAME)-prometheus-server.$(OPEN_MATCH_KUBERNETES_NAMESPACE).svc.cluster.local:80/" \
install/helm/open-match > install/yaml/04-grafana-chart.yaml
build/chart/open-match-$(BASE_VERSION).tgz > install/yaml/04-grafana-chart.yaml

install/yaml/05-jaeger-chart.yaml: build/toolchain/bin/helm$(EXE_EXTENSION)
install/yaml/05-jaeger-chart.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) build/chart/open-match-$(BASE_VERSION).tgz
mkdir -p install/yaml/
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) $(HELM_IMAGE_FLAGS) \
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) \
--set open-match-core.enabled=false \
--set open-match-core.redis.enabled=false \
--set open-match-telemetry.enabled=true \
--set global.telemetry.jaeger.enabled=true \
install/helm/open-match > install/yaml/05-jaeger-chart.yaml
build/chart/open-match-$(BASE_VERSION).tgz > install/yaml/05-jaeger-chart.yaml

install/yaml/06-open-match-override-configmap.yaml: build/toolchain/bin/helm$(EXE_EXTENSION)
install/yaml/06-open-match-override-configmap.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) build/chart/open-match-$(BASE_VERSION).tgz
mkdir -p install/yaml/
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) $(HELM_IMAGE_FLAGS) \
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) \
--set open-match-core.enabled=false \
--set open-match-core.redis.enabled=false \
--set open-match-override.enabled=true \
-s templates/om-configmap-override.yaml \
install/helm/open-match > install/yaml/06-open-match-override-configmap.yaml
build/chart/open-match-$(BASE_VERSION).tgz > install/yaml/06-open-match-override-configmap.yaml

install/yaml/07-open-match-default-evaluator.yaml: build/toolchain/bin/helm$(EXE_EXTENSION)
install/yaml/07-open-match-default-evaluator.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) build/chart/open-match-$(BASE_VERSION).tgz
mkdir -p install/yaml/
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) $(HELM_IMAGE_FLAGS) \
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) \
--set open-match-core.enabled=false \
--set open-match-core.redis.enabled=false \
--set open-match-customize.enabled=true \
--set open-match-customize.evaluator.enabled=true \
install/helm/open-match > install/yaml/07-open-match-default-evaluator.yaml
build/chart/open-match-$(BASE_VERSION).tgz > install/yaml/07-open-match-default-evaluator.yaml

install/yaml/install.yaml: build/toolchain/bin/helm$(EXE_EXTENSION)
install/yaml/install.yaml: build/toolchain/bin/helm$(EXE_EXTENSION) build/chart/open-match-$(BASE_VERSION).tgz
mkdir -p install/yaml/
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) $(HELM_IMAGE_FLAGS) \
$(HELM) template $(OPEN_MATCH_HELM_NAME) $(HELM_TEMPLATE_FLAGS) \
--set open-match-customize.enabled=true \
--set open-match-customize.evaluator.enabled=true \
--set open-match-telemetry.enabled=true \
--set global.telemetry.jaeger.enabled=true \
--set global.telemetry.grafana.enabled=true \
--set global.telemetry.prometheus.enabled=true \
install/helm/open-match > install/yaml/install.yaml
build/chart/open-match-$(BASE_VERSION).tgz > install/yaml/install.yaml

set-redis-password:
@stty -echo; \
Expand Down
2 changes: 2 additions & 0 deletions cloudbuild.yaml
Expand Up @@ -162,6 +162,8 @@ artifacts:
- install/yaml/04-grafana-chart.yaml
- install/yaml/05-jaeger-chart.yaml
- install/yaml/06-open-match-override-configmap.yaml
- install/yaml/07-open-match-default-evaluator.yaml
- build/chart/open-match-*.tgz

substitutions:
_OM_VERSION: "0.0.0-dev"
Expand Down