@@ -81,6 +81,10 @@ ACN_PACKAGE_PATH = github.com/Azure/azure-container-networking
81
81
CNI_AI_PATH =$(ACN_PACKAGE_PATH ) /telemetry.aiMetadata
82
82
CNS_AI_PATH =$(ACN_PACKAGE_PATH ) /cns/logger.aiMetadata
83
83
NPM_AI_PATH =$(ACN_PACKAGE_PATH ) /npm.aiMetadata
84
+ CNI_TELEMETRY_SIDECAR_DIR = $(REPO_ROOT ) /cns/cni-telemetry-sidecar
85
+ CNI_TELEMETRY_SIDECAR_BUILD_DIR = $(BUILD_DIR ) /cni-telemetry-sidecar
86
+ CNI_TELEMETRY_SIDECAR_AI_ID = $(CNI_AI_ID ) # Reuse CNI AI ID
87
+ CNI_TELEMETRY_SIDECAR_VERSION = $(CNS_VERSION ) # Version follows CNS
84
88
85
89
# Tool paths
86
90
CONTROLLER_GEN := $(TOOLS_BIN_DIR ) /controller-gen
@@ -107,6 +111,7 @@ NPM_ARCHIVE_NAME = azure-npm-$(GOOS)-$(GOARCH)-$(NPM_VERSION).$(ARCHIVE_EXT)
107
111
AZURE_IPAM_ARCHIVE_NAME = azure-ipam-$(GOOS ) -$(GOARCH ) -$(AZURE_IPAM_VERSION ) .$(ARCHIVE_EXT )
108
112
AZURE_IP_MASQ_MERGER_ARCHIVE_NAME = azure-ip-masq-merger-$(GOOS ) -$(GOARCH ) -$(AZURE_IP_MASQ_MERGER_VERSION ) .$(ARCHIVE_EXT )
109
113
IPV6_HP_BPF_ARCHIVE_NAME = ipv6-hp-bpf-$(GOOS ) -$(GOARCH ) -$(IPV6_HP_BPF_VERSION ) .$(ARCHIVE_EXT )
114
+ CNI_TELEMETRY_SIDECAR_ARCHIVE_NAME = azure-cni-telemetry-sidecar-$(GOOS ) -$(GOARCH ) -$(CNI_TELEMETRY_SIDECAR_VERSION ) .$(ARCHIVE_EXT )
110
115
111
116
# Image info file names.
112
117
CNI_IMAGE_INFO_FILE = azure-cni-$(CNI_VERSION ) .txt
@@ -123,7 +128,7 @@ all-binaries-platforms: ## Make all platform binaries
123
128
124
129
# OS specific binaries/images
125
130
ifeq ($(GOOS ) ,linux)
126
- all-binaries : acncli azure-cni-plugin azure-cns azure-npm azure-ipam azure-ip-masq-merger ipv6-hp-bpf
131
+ all-binaries : acncli azure-cni-plugin azure-cns azure-npm azure-ipam azure-ip-masq-merger ipv6-hp-bpf cni-telemetry-sidecar
127
132
all-images : npm-image cns-image cni-manager-image azure-ip-masq-merger-image ipv6-hp-bpf-image
128
133
else
129
134
all-binaries : azure-cni-plugin azure-cns azure-npm
@@ -139,7 +144,7 @@ azure-npm: azure-npm-binary npm-archive
139
144
azure-ipam : azure-ipam-binary azure-ipam-archive
140
145
ipv6-hp-bpf : ipv6-hp-bpf-binary ipv6-hp-bpf-archive
141
146
azure-ip-masq-merger : azure-ip-masq-merger-binary azure-ip-masq-merger-archive
142
-
147
+ cni-telemetry-sidecar : cni-telemetry-sidecar-binary cni-telemetry-sidecar-archive
143
148
144
149
# #@ Versioning
145
150
@@ -213,6 +218,10 @@ azure-vnet-ipamv6-binary:
213
218
azure-vnet-telemetry-binary :
214
219
cd $(CNI_TELEMETRY_DIR ) && CGO_ENABLED=0 go build -v -o $(CNI_BUILD_DIR ) /azure-vnet-telemetry$(EXE_EXT ) -ldflags " -X main.version=$( CNI_VERSION) -X $( CNI_AI_PATH) =$( CNI_AI_ID) " -gcflags=" -dwarflocationlists=true"
215
220
221
+ # Build the Azure CNI Telemetry Sidecar binary.
222
+ cni-telemetry-sidecar-binary :
223
+ cd $(CNI_TELEMETRY_SIDECAR_DIR ) && CGO_ENABLED=0 go build -v -o $(CNI_TELEMETRY_SIDECAR_BUILD_DIR ) /azure-cni-telemetry-sidecar$(EXE_EXT ) -ldflags " -X main.version=$( CNI_TELEMETRY_SIDECAR_VERSION) -X $( CNI_AI_PATH) =$( CNI_TELEMETRY_SIDECAR_AI_ID) " -gcflags=" -dwarflocationlists=true"
224
+
216
225
# Build the Azure CLI network binary.
217
226
acncli-binary :
218
227
cd $(ACNCLI_DIR ) && CGO_ENABLED=0 go build -v -o $(ACNCLI_BUILD_DIR ) /acn$(EXE_EXT ) -ldflags " -X main.version=$( ACN_VERSION) " -gcflags=" -dwarflocationlists=true"
@@ -275,6 +284,7 @@ CNI_IMAGE = azure-cni
275
284
CNS_IMAGE = azure-cns
276
285
NPM_IMAGE = azure-npm
277
286
AZURE_IP_MASQ_MERGER_IMAGE = azure-ip-masq-merger
287
+ CNI_TELEMETRY_SIDECAR_IMAGE = azure-cni-telemetry-sidecar
278
288
279
289
# # Image platform tags.
280
290
ACNCLI_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM ) ) -$(ACN_VERSION )
@@ -287,7 +297,7 @@ CNS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(CNS_VERSION)
287
297
CNS_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM ) ) -$(CNS_VERSION ) -$(OS_SKU_WIN )
288
298
NPM_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM ) ) -$(NPM_VERSION )
289
299
AZURE_IP_MASQ_MERGER_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM ) ) -$(AZURE_IP_MASQ_MERGER_VERSION )
290
-
300
+ CNI_TELEMETRY_SIDECAR_PLATFORM_TAG ?= $( subst /,-, $( PLATFORM ) ) - $( CNI_TELEMETRY_SIDECAR_VERSION )
291
301
292
302
qemu-user-static : # # Set up the host to run qemu multiplatform container builds.
293
303
sudo $(CONTAINER_RUNTIME ) run --rm --privileged multiarch/qemu-user-static --reset -p yes
@@ -542,6 +552,35 @@ npm-image-pull: ## pull cns container image.
542
552
IMAGE=$(NPM_IMAGE ) \
543
553
TAG=$(NPM_PLATFORM_TAG )
544
554
555
+ # cni-telemetry-sidecar
556
+
557
+ cni-telemetry-sidecar-image-name : # util target to print the CNI telemetry sidecar image name
558
+ @echo $(CNI_TELEMETRY_SIDECAR_IMAGE )
559
+
560
+ cni-telemetry-sidecar-image-name-and-tag : # util target to print the CNI telemetry sidecar image name and tag.
561
+ @echo $(IMAGE_REGISTRY ) /$(CNI_TELEMETRY_SIDECAR_IMAGE ) :$(CNI_TELEMETRY_SIDECAR_PLATFORM_TAG )
562
+
563
+ cni-telemetry-sidecar-image : # # build cni-telemetry-sidecar container image.
564
+ $(MAKE ) container \
565
+ DOCKERFILE =cns/cni-telemetry-sidecar/Dockerfile \
566
+ IMAGE=$(CNI_TELEMETRY_SIDECAR_IMAGE ) \
567
+ EXTRA_BUILD_ARGS='--build-arg CNI_AI_PATH=$(CNI_AI_PATH ) --build-arg CNI_AI_ID=$(CNI_TELEMETRY_SIDECAR_AI_ID ) ' \
568
+ PLATFORM=$(PLATFORM ) \
569
+ TAG=$(CNI_TELEMETRY_SIDECAR_PLATFORM_TAG ) \
570
+ TARGET=$(OS ) \
571
+ OS=$(OS ) \
572
+ ARCH=$(ARCH )
573
+
574
+ cni-telemetry-sidecar-image-push : # # push cni-telemetry-sidecar container image.
575
+ $(MAKE ) container-push \
576
+ IMAGE =$(CNI_TELEMETRY_SIDECAR_IMAGE ) \
577
+ TAG=$(CNI_TELEMETRY_SIDECAR_PLATFORM_TAG )
578
+
579
+ cni-telemetry-sidecar-image-pull : # # pull cni-telemetry-sidecar container image.
580
+ $(MAKE ) container-pull \
581
+ IMAGE =$(CNI_TELEMETRY_SIDECAR_IMAGE ) \
582
+ TAG=$(CNI_TELEMETRY_SIDECAR_PLATFORM_TAG )
583
+
545
584
# # Reusable targets for building multiplat container image manifests.
546
585
547
586
IMAGE_ARCHIVE_DIR ?= $(shell pwd)
@@ -681,6 +720,21 @@ npm-skopeo-archive: ## export tar archive of multiplat container manifest.
681
720
IMAGE=$(NPM_IMAGE ) \
682
721
TAG=$(NPM_VERSION )
683
722
723
+ cni-telemetry-sidecar-manifest-build : # # build cni-telemetry-sidecar multiplat container manifest.
724
+ $(MAKE ) manifest-build \
725
+ PLATFORMS ="$(PLATFORMS ) " \
726
+ IMAGE=$(CNI_TELEMETRY_SIDECAR_IMAGE ) \
727
+ TAG=$(CNI_TELEMETRY_SIDECAR_VERSION )
728
+
729
+ cni-telemetry-sidecar-manifest-push : # # push cni-telemetry-sidecar multiplat container manifest
730
+ $(MAKE ) manifest-push \
731
+ IMAGE =$(CNI_TELEMETRY_SIDECAR_IMAGE ) \
732
+ TAG=$(CNI_TELEMETRY_SIDECAR_VERSION )
733
+
734
+ cni-telemetry-sidecar-skopeo-archive : # # export tar archive of cni-telemetry-sidecar multiplat container manifest.
735
+ $(MAKE ) manifest-skopeo-archive \
736
+ IMAGE =$(CNI_TELEMETRY_SIDECAR_IMAGE ) \
737
+ TAG=$(CNI_TELEMETRY_SIDECAR_VERSION )
684
738
685
739
# ########################## Archives ################################
686
740
@@ -783,6 +837,14 @@ ifeq ($(GOOS),linux)
783
837
cd $(IPV6_HP_BPF_BUILD_DIR) && $(ARCHIVE_CMD) $(IPV6_HP_BPF_ARCHIVE_NAME) ipv6-hp-bpf$(EXE_EXT)
784
838
endif
785
839
840
+ # Create a CNI Telemetry Sidecar archive for the target platform.
841
+ .PHONY : cni-telemetry-sidecar-archive
842
+ cni-telemetry-sidecar-archive : cni-telemetry-sidecar-binary
843
+ ifeq ($(GOOS ) ,linux)
844
+ $(MKDIR) $(CNI_TELEMETRY_SIDECAR_BUILD_DIR)
845
+ cd $(CNI_TELEMETRY_SIDECAR_BUILD_DIR) && $(ARCHIVE_CMD) $(CNI_TELEMETRY_SIDECAR_ARCHIVE_NAME) azure-cni-telemetry-sidecar$(EXE_EXT)
846
+ endif
847
+
786
848
# #@ Utils
787
849
788
850
clean : # # Clean build artifacts.
0 commit comments