Skip to content

Commit 8a24d01

Browse files
Merge pull request #828 from andyatmiami/fix/yq-not-sed-in-deploy-target
NO-JIRA: fix(build): use yq to modify kustomization.yaml during deploy targets
2 parents d8917bf + 01bf3b5 commit 8a24d01

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

Makefile

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ OS_ARCH=$(shell go env GOOS)/$(shell go env GOARCH)
4242
IMAGE_TAG ?= $(RELEASE)_$(DATE)
4343
KUBECTL_BIN ?= bin/kubectl
4444
KUBECTL_VERSION ?= v1.23.11
45+
YQ_BIN ?= bin/yq
46+
YQ_VERSION ?= v4.44.6
4547
NOTEBOOK_REPO_BRANCH_BASE ?= https://raw.githubusercontent.com/opendatahub-io/notebooks/main
4648
REQUIRED_RUNTIME_IMAGE_COMMANDS="curl python3"
4749
REQUIRED_CODE_SERVER_IMAGE_COMMANDS="curl python oc code-server"
@@ -285,17 +287,28 @@ ifeq (,$(wildcard $(KUBECTL_BIN)))
285287
@chmod +x $(KUBECTL_BIN)
286288
endif
287289

290+
# Download yq binary
291+
.PHONY: bin/yq
292+
bin/yq:
293+
$(eval YQ_RELEASE_FILE := yq_$(subst /,_,$(OS_ARCH)))
294+
ifeq (,$(wildcard $(YQ_BIN)))
295+
@mkdir -p bin
296+
@curl -sSL https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/${YQ_RELEASE_FILE} > \
297+
$(YQ_BIN)
298+
@chmod +x $(YQ_BIN)
299+
endif
300+
288301
.PHONY: deploy9
289-
deploy9-%: bin/kubectl
302+
deploy9-%: bin/kubectl bin/yq
290303
$(eval TARGET := $(shell echo $* | sed 's/-ubi9-python.*//'))
291304
$(eval PYTHON_VERSION := $(shell echo $* | sed 's/.*-python-//'))
292305
$(eval NOTEBOOK_DIR := $(subst -,/,$(subst cuda-,,$(TARGET)))/ubi9-python-$(PYTHON_VERSION)/kustomize/base)
293306
ifndef NOTEBOOK_TAG
294307
$(eval NOTEBOOK_TAG := $*-$(IMAGE_TAG))
295308
endif
296309
$(info # Deploying notebook from $(NOTEBOOK_DIR) directory...)
297-
@sed -i 's,newName: .*,newName: $(IMAGE_REGISTRY),g' $(NOTEBOOK_DIR)/kustomization.yaml
298-
@sed -i 's,newTag: .*,newTag: $(NOTEBOOK_TAG),g' $(NOTEBOOK_DIR)/kustomization.yaml
310+
@arg=$(IMAGE_REGISTRY) $(YQ_BIN) e -i '.images[].newName = strenv(arg)' $(NOTEBOOK_DIR)/kustomization.yaml
311+
@arg=$(NOTEBOOK_TAG) $(YQ_BIN) e -i '.images[].newTag = strenv(arg)' $(NOTEBOOK_DIR)/kustomization.yaml
299312
$(KUBECTL_BIN) apply -k $(NOTEBOOK_DIR)
300313

301314
.PHONY: undeploy9
@@ -307,16 +320,16 @@ undeploy9-%: bin/kubectl
307320
$(KUBECTL_BIN) delete -k $(NOTEBOOK_DIR)
308321

309322
.PHONY: deploy-c9s
310-
deploy-c9s-%: bin/kubectl
323+
deploy-c9s-%: bin/kubectl bin/yq
311324
$(eval TARGET := $(shell echo $* | sed 's/-c9s-python.*//'))
312325
$(eval PYTHON_VERSION := $(shell echo $* | sed 's/.*-python-//'))
313326
$(eval NOTEBOOK_DIR := $(subst -,/,$(subst cuda-,,$(TARGET)))/c9s-python-$(PYTHON_VERSION)/kustomize/base)
314327
ifndef NOTEBOOK_TAG
315328
$(eval NOTEBOOK_TAG := $*-$(IMAGE_TAG))
316329
endif
317330
$(info # Deploying notebook from $(NOTEBOOK_DIR) directory...)
318-
@sed -i 's,newName: .*,newName: $(IMAGE_REGISTRY),g' $(NOTEBOOK_DIR)/kustomization.yaml
319-
@sed -i 's,newTag: .*,newTag: $(NOTEBOOK_TAG),g' $(NOTEBOOK_DIR)/kustomization.yaml
331+
@arg=$(IMAGE_REGISTRY) $(YQ_BIN) e -i '.images[].newName = strenv(arg)' $(NOTEBOOK_DIR)/kustomization.yaml
332+
@arg=$(NOTEBOOK_TAG) $(YQ_BIN) e -i '.images[].newTag = strenv(arg)' $(NOTEBOOK_DIR)/kustomization.yaml
320333
$(KUBECTL_BIN) apply -k $(NOTEBOOK_DIR)
321334

322335
.PHONY: undeploy-c9s

0 commit comments

Comments
 (0)