@@ -42,6 +42,8 @@ OS_ARCH=$(shell go env GOOS)/$(shell go env GOARCH)
42
42
IMAGE_TAG ?= $(RELEASE ) _$(DATE )
43
43
KUBECTL_BIN ?= bin/kubectl
44
44
KUBECTL_VERSION ?= v1.23.11
45
+ YQ_BIN ?= bin/yq
46
+ YQ_VERSION ?= v4.44.6
45
47
NOTEBOOK_REPO_BRANCH_BASE ?= https://raw.githubusercontent.com/opendatahub-io/notebooks/main
46
48
REQUIRED_RUNTIME_IMAGE_COMMANDS ="curl python3"
47
49
REQUIRED_CODE_SERVER_IMAGE_COMMANDS ="curl python oc code-server"
@@ -285,17 +287,28 @@ ifeq (,$(wildcard $(KUBECTL_BIN)))
285
287
@chmod +x $(KUBECTL_BIN)
286
288
endif
287
289
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
+
288
301
.PHONY : deploy9
289
- deploy9-% : bin/kubectl
302
+ deploy9-% : bin/kubectl bin/yq
290
303
$(eval TARGET := $(shell echo $* | sed 's/-ubi9-python.* //') )
291
304
$(eval PYTHON_VERSION := $(shell echo $* | sed 's/.* -python-//') )
292
305
$(eval NOTEBOOK_DIR := $(subst -,/,$(subst cuda-,,$(TARGET ) ) ) /ubi9-python-$(PYTHON_VERSION ) /kustomize/base)
293
306
ifndef NOTEBOOK_TAG
294
307
$(eval NOTEBOOK_TAG := $*-$(IMAGE_TAG))
295
308
endif
296
309
$(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
299
312
$(KUBECTL_BIN) apply -k $(NOTEBOOK_DIR)
300
313
301
314
.PHONY : undeploy9
@@ -307,16 +320,16 @@ undeploy9-%: bin/kubectl
307
320
$(KUBECTL_BIN ) delete -k $(NOTEBOOK_DIR )
308
321
309
322
.PHONY : deploy-c9s
310
- deploy-c9s-% : bin/kubectl
323
+ deploy-c9s-% : bin/kubectl bin/yq
311
324
$(eval TARGET := $(shell echo $* | sed 's/-c9s-python.* //') )
312
325
$(eval PYTHON_VERSION := $(shell echo $* | sed 's/.* -python-//') )
313
326
$(eval NOTEBOOK_DIR := $(subst -,/,$(subst cuda-,,$(TARGET ) ) ) /c9s-python-$(PYTHON_VERSION ) /kustomize/base)
314
327
ifndef NOTEBOOK_TAG
315
328
$(eval NOTEBOOK_TAG := $*-$(IMAGE_TAG))
316
329
endif
317
330
$(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
320
333
$(KUBECTL_BIN) apply -k $(NOTEBOOK_DIR)
321
334
322
335
.PHONY : undeploy-c9s
0 commit comments