-
Notifications
You must be signed in to change notification settings - Fork 270
Expand file tree
/
Copy pathcni.sh
More file actions
77 lines (66 loc) · 2.76 KB
/
cni.sh
File metadata and controls
77 lines (66 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/bash
set -eux
[[ $OS =~ windows ]] && FILE_EXT='.exe' || FILE_EXT=''
mkdir -p "$OUT_DIR"/files
mkdir -p "$OUT_DIR"/bin
export CGO_ENABLED=0
# Go 1.26 on Linux: systemcrypto is default but requires CGO; use nocgo backend instead
[[ ! $OS =~ windows ]] && export GOEXPERIMENT=ms_nocgo_opensslcrypto
CNI_NET_DIR="$REPO_ROOT"/cni/network/plugin
pushd "$CNI_NET_DIR"
GOOS="$OS" go build -v -a -trimpath \
-o "$OUT_DIR"/bin/azure-vnet"$FILE_EXT" \
-ldflags "-s -w -X main.version="$CNI_VERSION"" \
-gcflags="-dwarflocationlists=true" \
./main.go
popd
STATELESS_CNI_BUILD_DIR="$REPO_ROOT"/cni/network/stateless
pushd "$STATELESS_CNI_BUILD_DIR"
GOOS="$OS" go build -v -a -trimpath \
-o "$OUT_DIR"/bin/azure-vnet-stateless"$FILE_EXT" \
-ldflags "-s -w -X main.version="$CNI_VERSION"" \
-gcflags="-dwarflocationlists=true" \
./main.go
popd
CNI_IPAM_DIR="$REPO_ROOT"/cni/ipam/plugin
pushd "$CNI_IPAM_DIR"
GOOS="$OS" go build -v -a -trimpath \
-o "$OUT_DIR"/bin/azure-vnet-ipam"$FILE_EXT" \
-ldflags "-s -w -X main.version="$CNI_VERSION"" \
-gcflags="-dwarflocationlists=true" \
./main.go
popd
CNI_IPAMV6_DIR="$REPO_ROOT"/cni/ipam/pluginv6
pushd "$CNI_IPAMV6_DIR"
GOOS="$OS" go build -v -a -trimpath \
-o "$OUT_DIR"/bin/azure-vnet-ipamv6"$FILE_EXT" \
-ldflags "-s -w -X main.version="$CNI_VERSION"" \
-gcflags="-dwarflocationlists=true" \
./main.go
popd
CNI_TELEMETRY_DIR="$REPO_ROOT"/cni/telemetry/service
pushd "$CNI_TELEMETRY_DIR"
GOOS="$OS" go build -v -a -trimpath \
-o "$OUT_DIR"/bin/azure-vnet-telemetry"$FILE_EXT" \
-ldflags "-s -w -X main.version="$CNI_VERSION" -X "$CNI_AI_PATH"="$CNI_AI_ID"" \
-gcflags="-dwarflocationlists=true" \
./telemetrymain.go
popd
CNI_TELEMETRY_SIDECAR_DIR="$REPO_ROOT"/cns/cni-telemetry-sidecar
pushd "$CNI_TELEMETRY_SIDECAR_DIR"
GOOS="$OS" go build -v -a -trimpath \
-o "$OUT_DIR"/bin/azure-cni-telemetry-sidecar"$FILE_EXT" \
-ldflags "-s -w -X main.version="$CNI_VERSION" -X "$CNI_AI_PATH"="$CNI_AI_ID"" \
-gcflags="-dwarflocationlists=true" \
.
popd
pushd "$REPO_ROOT"/cni
cp azure-$OS.conflist "$OUT_DIR"/files/azure.conflist
cp azure-$OS-swift.conflist "$OUT_DIR"/files/azure-swift.conflist
cp azure-linux-multitenancy-transparent-vlan.conflist "$OUT_DIR"/files/azure-multitenancy-transparent-vlan.conflist
cp azure-$OS-swift-overlay.conflist "$OUT_DIR"/files/azure-swift-overlay.conflist
cp azure-$OS-swift-overlay-dualstack.conflist "$OUT_DIR"/files/azure-swift-overlay-dualstack.conflist
cp azure-windows-multitenancy.conflist "$OUT_DIR"/files/multitenancy.conflist
cp azure-chained-cilium.conflist "$OUT_DIR"/files/azure-chained-cilium.conflist
cp "$REPO_ROOT"/telemetry/azure-vnet-telemetry.config "$OUT_DIR"/files/azure-vnet-telemetry.config
popd