github.com/looshlee/beatles@v0.0.0-20220727174639-742810ab631c/install/kubernetes/Makefile (about) 1 include ../../Makefile.defs 2 include $(ROOT_DIR)/Makefile.quiet 3 4 MANAGED_ETCD_VERSION := "v2.0.7" 5 6 QUICK_INSTALL := "$(ROOT_DIR)/$(RELATIVE_DIR)/quick-install.yaml" 7 MANAGED_ETCD_PATH := "$(ROOT_DIR)/$(RELATIVE_DIR)/cilium/charts/managed-etcd/values.yaml" 8 CILIUM_CHARTS := "$(ROOT_DIR)/$(RELATIVE_DIR)/cilium/" 9 CILIUM_VALUES := "$(CILIUM_CHARTS)/values.yaml" 10 11 VERSION_REGEX := '[0-9]\+\.[0-9]\+\.[0-9]\+.*' 12 LATEST_VERSION_REGEX := '[0-9]\+\.[0-9]\+\.90' 13 DEV_VERSION_REGEX := '[0-9]\+\.[0-9]\+\.[0-9]\+-dev' 14 CILIUM_CHART_REGEX := '\([vV]ersion:\) '$(VERSION_REGEX) 15 CILIUM_TAG_REGEX := '\(tag:\) \(v'$(VERSION_REGEX)'\|latest\)' 16 CILIUM_PULLPOLICY_REGEX := '\(pullPolicy:\) .*' 17 18 all: update-versions $(QUICK_INSTALL) 19 20 $(QUICK_INSTALL): $(shell find cilium/ -type f) 21 $(QUIET)helm template cilium --namespace=kube-system $(OPTS) > $(QUICK_INSTALL) 22 23 update-versions: 24 $(ECHO_GEN) " -> Updating version to $(VERSION)" 25 @# Update chart versions to point to the current version. 26 $(QUIET)grep -lRZ -e "version:" -e "appVersion:" $(CILIUM_CHARTS) | \ 27 xargs -0 -l sed -i -e 's/'$(CILIUM_CHART_REGEX)'/\1 $(VERSION)/g' 28 @# Fix up the cilium tag 29 $(QUIET)if echo $(VERSION) | grep -q $(LATEST_VERSION_REGEX); then \ 30 sed -i 's/'$(CILIUM_TAG_REGEX)'/\1 latest/' $(CILIUM_VALUES); \ 31 sed -i 's/'$(CILIUM_PULLPOLICY_REGEX)'/\1 Always/' $(CILIUM_VALUES); \ 32 elif echo $(VERSION) | grep -q $(DEV_VERSION_REGEX); then \ 33 DEV_BRANCH=$$(echo $(VERSION) | sed 's/-dev//') \ 34 sed -i 's/'$(CILIUM_TAG_REGEX)'/\1 $(DEV_BRANCH)/' $(CILIUM_VALUES); \ 35 sed -i 's/'$(CILIUM_PULLPOLICY_REGEX)'/\1 Always/' $(CILIUM_VALUES); \ 36 else \ 37 sed -i 's/'$(CILIUM_TAG_REGEX)'/\1 v$(VERSION)/' $(CILIUM_VALUES); \ 38 sed -i 's/'$(CILIUM_PULLPOLICY_REGEX)'/\1 IfNotPresent/' $(CILIUM_VALUES); \ 39 fi 40 @# Fix up the managed etcd version, as that has its own scheme 41 $(QUIET)sed -i 's/'$(VERSION)'/'$(MANAGED_ETCD_VERSION)'/' $(MANAGED_ETCD_PATH) 42 43 clean: 44 $(RM) $(QUICK_INSTALL) 45 46 .phony: all clean update-versions