@@ -64,8 +64,6 @@ restart-spanner: build-db-mgmt
6464 minikube addons enable cloud-spanner;
6565 ./run-local.sh db-mgmt migrate
6666
67- SUBSTITUTE_VARS := '$$IMAGE_PREFIX $$IMAGE_TAG $$SPANNER_DATABASE_URI $$BLOB_STORAGE_GCS_BUCKET $$WORKFLOW_ARTIFACTS_BUCKET'
68-
6967# It takes some time for K8S to set up Argo CRDs, so if we `kubectl apply` everything at once, it will not
7068# work on the first attempt.
7169# The following two targets facilitate CI/CD:
@@ -78,14 +76,29 @@ k8s-config-argo-wait:
7876 @kubectl wait --for condition=established --timeout=60s crd/cronworkflows.argoproj.io
7977 @kubectl wait --for condition=established --timeout=60s crd/workflows.argoproj.io
8078
79+ escape_sed_replacement = \
80+ $(shell printf '% s' '$(subst ','\'',$(1 ) ) ' | \
81+ sed -e 's~\\~\\\\~g' \
82+ -e 's~&~\\&~g' \
83+ -e 's~\$$~\\$$~g' \
84+ -e 's~/~\\/~g' \
85+ )
86+
87+ SED_EXPRESSIONS := \
88+ -e "s~\$${IMAGE_PREFIX}~$(call escape_sed_replacement,${IMAGE_PREFIX}) ~g" \
89+ -e "s~\$${IMAGE_TAG}~$(call escape_sed_replacement,${IMAGE_TAG}) ~g" \
90+ -e "s~\$${SPANNER_DATABASE_URI}~$(call escape_sed_replacement,${SPANNER_DATABASE_URI}) ~g" \
91+ -e "s~\$${WORKFLOW_ARTIFACTS_BUCKET}~$(call escape_sed_replacement,${WORKFLOW_ARTIFACTS_BUCKET}) ~g" \
92+ -e "s~\$${BLOB_STORAGE_GCS_BUCKET}~$(call escape_sed_replacement,${BLOB_STORAGE_GCS_BUCKET}) ~g" \
93+
8194k8s-config-dev :
82- @kubectl kustomize ./overlays/minikube/ | IMAGE_PREFIX= ${IMAGE_PREFIX} IMAGE_TAG= ${IMAGE_TAG} envsubst ${SUBSTITUTE_VARS}
95+ @kubectl kustomize ./overlays/minikube/ | sed $( SED_EXPRESSIONS )
8396
8497k8s-config-gke : ensure-spanner-database-uri-env ensure-blob-storage-env ensure-workflow-artifacts-bucket
85- @kubectl kustomize ./overlays/gke/ | IMAGE_PREFIX= ${IMAGE_PREFIX} IMAGE_TAG= ${IMAGE_TAG} envsubst ${SUBSTITUTE_VARS}
98+ @kubectl kustomize ./overlays/gke/ | sed $( SED_EXPRESSIONS )
8699
87100migrate-job.yaml : ensure-spanner-database-uri-env
88- @cat db-mgmt/migrate-job.yaml | IMAGE_PREFIX= ${IMAGE_PREFIX} IMAGE_TAG= ${IMAGE_TAG} envsubst
101+ @cat db-mgmt/migrate-job.yaml | sed $( SED_EXPRESSIONS )
89102
90103fetch-kernels-once.yaml :
91104 @cat kernel-disk/fetch-kernels-once.yaml
0 commit comments