This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tsg-tsg-os-buildimage/make/Makefile.x86_64_COTS_APP_BUNDLE
2024-04-29 19:26:16 +08:00

78 lines
4.3 KiB
Makefile

PROFILE_ID := x86_64_COTS
PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID))
CONTAINER_IMAGES_TAR := traffic-engine-${OS_RELEASE_VER}-docker.tar
TRAFFIC_ENGINE_HELM_CHART_TAR := traffic-engine-$(HELM_CHART_VER).tgz
MRZCPD_HELM_CHART_TAR := mrzcpd-$(HELM_CHART_VER).tgz
DP_TRACE_HELM_CHART_TAR := datapath-trace-$(HELM_CHART_VER).tgz
APP_BUNDLE_BIN := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-APP-BUNDLE.bin
INJECT_HELM_CHART_TAR := inject-adapter-$(HELM_CHART_VER).tgz
CONTAINER_IMAGES_TAR_GLOB := traffic-engine-*-docker.tar
HELM_CHART_TAR_GLOB := traffic-engine-*.tgz
MRZCPD_DEVICE_PLUGIN_IMAGE_TAG := ${OS_RELEASE_VER}
TARGET_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID)/containers
TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer
TRAFFIC_ENGINE_HELM_FILE_PATH := /ansible/roles/traffic-engine/files/helm
INJECT_ADAPTER_HELM_FILE_PATH := /ansible/roles/packet_adapter/files/helm
MRZCPD_HELM_FILE_PATH := /ansible/roles/mrzcpd/files/helm
DP_TRACE_HELM_FILE_PATH := /ansible/roles/dp-trace-telemetry/files/helm
MRZCPD_DEVICE_PLUGIN_FILE_PATH := /ansible/roles/k3s-install/files/packet-io-uio-binder.yaml
.PHONY: all build_dir installer clean_installer_dir prebuild_container_images build_container_images build_helm_charts build_app_bundle_bin
all: build_app_bundle_bin
build_dir:
mkdir -p $(TARGET_BUILD_DIR)
mkdir -p $(TARGET_INSTALLER_DIR)
clean_installer_dir:
rm -rf $(TARGET_INSTALLER_DIR)
installer: build_dir
cp $(INSTALLERDIR)/app_bundle_install.sh $(TARGET_INSTALLER_DIR)/install.sh
chmod +x $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%CONTAINER_IMAGES_TAR%%/$(CONTAINER_IMAGES_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%TRAFFIC_ENGINE_HELM_CHART_TAR%%/$(TRAFFIC_ENGINE_HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%INJECT_HELM_CHART_TAR%%/$(INJECT_HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%MRZCPD_HELM_CHART_TAR%%/$(MRZCPD_HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%DP_TRACE_HELM_CHART_TAR%%/$(DP_TRACE_HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%CONTAINER_IMAGES_TAR_GLOB%%/$(CONTAINER_IMAGES_TAR_GLOB)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%HELM_CHART_TAR_GLOB%%/$(HELM_CHART_TAR_GLOB)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%MRZCPD_DEVICE_PLUGIN_IMAGE_TAG%%/$(MRZCPD_DEVICE_PLUGIN_IMAGE_TAG)/" $(PROJECTDIR)/$(MRZCPD_DEVICE_PLUGIN_FILE_PATH)
prebuild_container_images:
ifeq ($(ENABLE_LICENSE_PROTECTED),1)
sed -i '/sapp:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
else
sed -i '/sapp-pr:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
endif
ifeq ($(ENABLE_ALIYUN_INTERNAL_DOMAIN),1)
sed -i -e "s/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/" $(CONFDIR)/yum-RockyLinux-8.conf
endif
build_container_images: prebuild_container_images
chmod 0755 $(PROJECTDIR)/tools/build_container_images.sh
$(PROJECTDIR)/tools/build_container_images.sh $(PROJECTDIR) $(CONFDIR) $(TOOLSDIR) $(OS_RELEASE_VER) $(PROFILE_ID) $(IMAGEDIR_BASE) $(TARGET_INSTALLER_DIR) $(CONTAINER_IMAGES_TAR)
build_helm_charts: build_dir
chmod 0755 $(PROJECTDIR)/tools/build_helm_charts.sh
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(TRAFFIC_ENGINE_HELM_FILE_PATH)
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(INJECT_ADAPTER_HELM_FILE_PATH)
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(MRZCPD_HELM_FILE_PATH)
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(DP_TRACE_HELM_FILE_PATH)
build_app_bundle_bin: clean_installer_dir installer build_helm_charts build_container_images
mkdir -p $(TARGET_BUILD_DIR)/app-bundle-cook-bits
chmod 0755 $(TOOLSDIR)/app-bundle-cook-bits
$(TOOLSDIR)/app-bundle-cook-bits $(TARGET_BUILD_DIR) $(TARGET_BUILD_DIR)/app-bundle-cook-bits $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN)
sha256sum $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN) | awk '{print $$1}' > $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN).sha256sum.txt
clean:
rm -rf $(TARGET_BUILD_DIR)