Skip to content

Commit f701af0

Browse files
committed
fixup! Use Signed Binaries for Docker Build
1 parent 0f643eb commit f701af0

File tree

11 files changed

+88
-71
lines changed

11 files changed

+88
-71
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
ARG ARTIFACT_DIR
22

33
FROM scratch AS linux
4-
COPY ${ARTIFACT_DIR}/bins/dropgz dropgz
4+
COPY ${ARTIFACT_DIR}/bin/dropgz dropgz
55
ENTRYPOINT [ "/dropgz" ]
66

77

88
# skopeo inspect docker://mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0 --format "{{.Name}}@{{.Digest}}"
99
FROM mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as windows
10-
COPY ${ARTIFACT_DIR}/bins/dropgz dropgz.exe
10+
COPY ${ARTIFACT_DIR}/bin/dropgz dropgz.exe
1111
ENTRYPOINT [ "/dropgz.exe" ]

.pipelines/build/dockerfiles/cni.Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ ARG ARCH
22
ARG ARTIFACT_DIR
33

44
FROM scratch AS linux
5-
ADD ${ARTIFACT_DIR}/bins/dropgz dropgz
5+
ADD ${ARTIFACT_DIR}/bin/dropgz dropgz
66
ENTRYPOINT [ "/dropgz" ]
77

88

99
# mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0
1010
FROM --platform=windows/${ARCH} mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as hpc
1111

1212
FROM hpc as windows
13-
ADD ${ARTIFACT_DIR}/bins/dropgz dropgz.exe
13+
ADD ${ARTIFACT_DIR}/bin/dropgz dropgz.exe
1414
ENTRYPOINT [ "/dropgz.exe" ]
1515

1616

.pipelines/build/dockerfiles/cns.Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ RUN tdnf install -y iptables
99
FROM mcr.microsoft.com/cbl-mariner/distroless/minimal@sha256:7778a86d86947d5f64c1280a7ee0cf36c6c6d76b5749dd782fbcc14f113961bf AS linux
1010
COPY --from=iptables /usr/sbin/*tables* /usr/sbin/
1111
COPY --from=iptables /usr/lib /usr/lib
12-
COPY ${ARTIFACT_DIR}/bins/azure-cns /usr/local/bin/azure-cns
12+
COPY ${ARTIFACT_DIR}/bin/azure-cns /usr/local/bin/azure-cns
1313
ENTRYPOINT [ "/usr/local/bin/azure-cns" ]
1414
EXPOSE 10090
1515

@@ -18,6 +18,6 @@ EXPOSE 10090
1818
FROM --platform=windows/${ARCH} mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b AS windows
1919
COPY ${ARTIFACT_DIR}/files/kubeconfigtemplate.yaml kubeconfigtemplate.yaml
2020
COPY ${ARTIFACT_DIR}/files/setkubeconfigpath.ps1 setkubeconfigpath.ps1
21-
COPY ${ARTIFACT_DIR}/bins/azure-cns /azure-cns.exe
21+
COPY ${ARTIFACT_DIR}/bin/azure-cns /azure-cns.exe
2222
ENTRYPOINT ["azure-cns.exe"]
2323
EXPOSE 10090

.pipelines/build/dockerfiles/ipv6-hp-bpf.Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ ARG ARTIFACT_DIR
22

33
FROM mcr.microsoft.com/cbl-mariner/distroless/minimal:2.0 AS linux
44
COPY ${ARTIFACT_DIR}/lib/* /lib
5-
COPY ${ARTIFACT_DIR}/bins/ipv6-hp-bpf /ipv6-hp-bpf
6-
COPY ${ARTIFACT_DIR}/bins/nft /usr/sbin/nft
7-
COPY ${ARTIFACT_DIR}/bins/ip /sbin/ip
5+
COPY ${ARTIFACT_DIR}/bin/ipv6-hp-bpf /ipv6-hp-bpf
6+
COPY ${ARTIFACT_DIR}/bin/nft /usr/sbin/nft
7+
COPY ${ARTIFACT_DIR}/bin/ip /sbin/ip
88
CMD ["/ipv6-hp-bpf"]

.pipelines/build/dockerfiles/npm.Dockerfile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1+
ARG ARTIFACT_DIR
2+
13
FROM mcr.microsoft.com/mirror/docker/library/ubuntu:20.04 as linux
24

35
RUN apt-get update && \
46
apt-get install -y libc-bin=2.31-0ubuntu9.17 libc6=2.31-0ubuntu9.17 libtasn1-6=4.16.0-2ubuntu0.1 libgnutls30=3.6.13-2ubuntu1.12 iptables ipset ca-certificates && \
57
apt-get autoremove -y && \
68
apt-get clean
79

10+
COPY ${ARTIFACT_DIR}/bin/azure-npm /usr/bin/azure-npm
811
RUN chmod +x /usr/bin/azure-npm
912
ENTRYPOINT ["/usr/bin/azure-npm", "start"]
1013

@@ -15,6 +18,6 @@ FROM mcr.microsoft.com/windows/servercore@sha256:45952938708fbde6ec0b5b94de68bcd
1518
COPY ${ARTIFACT_DIR}/files/kubeconfigtemplate.yaml kubeconfigtemplate.yaml
1619
COPY ${ARTIFACT_DIR}/files/setkubeconfigpath.ps1 setkubeconfigpath.ps1
1720
COPY ${ARTIFACT_DIR}/files/setkubeconfigpath-capz.ps1 setkubeconfigpath-capz.ps1
18-
COPY ${ARTIFACT_DIR}/bins/azure-npm.exe npm.exe
21+
COPY ${ARTIFACT_DIR}/bin/azure-npm npm.exe
1922

2023
CMD ["npm.exe", "start" "--kubeconfig=.\\kubeconfig"]

.pipelines/build/scripts/azure-ipam.sh

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,22 @@ set -nex
44
pwd
55
ls -la
66

7-
mkdir -p "$OUT_DIR"/bins
8-
mkdir -p "$GEN_DIR"
7+
export GOOS=$OS
8+
export GOARCH=$ARCH
9+
export CGO_ENABLED=0
910

10-
DROPGZ_VERSION="${DROPGZ_VERSION:-v0.0.12}"
11-
IPAM_BUILD_DIR=$(mktemp -d -p "$GEN_DIR")
11+
mkdir -p "$OUT_DIR"/bin
12+
mkdir -p "$OUT_DIR"/files
1213

1314
pushd "$ROOT_DIR"/azure-ipam
14-
GOOS=$OS CGO_ENABLED=0 go build -v -a -o "$IPAM_BUILD_DIR"/azure-ipam -trimpath -ldflags "-X github.com/Azure/azure-container-networking/azure-ipam/internal/buildinfo.Version="$AZURE_IPAM_VERSION" main.version="$VERSION"" -gcflags="-dwarflocationlists=true"
15-
cp *.conflist "$IPAM_BUILD_DIR"
16-
sha256sum * > sum.txt
17-
gzip --verbose --best --recursive "$IPAM_BUILD_DIR" && for f in *.gz; do mv -- "$f" "${f%%.gz}"; done
18-
popd
15+
go build -v -a -trimpath \
16+
-o "$OUT_DIR"/bin/azure-ipam \
17+
-ldflags "-X github.com/Azure/azure-container-networking/azure-ipam/internal/buildinfo.Version="$AZURE_IPAM_VERSION" -X main.version="$AZURE_IPAM_VERSION"" \
18+
-gcflags="-dwarflocationlists=true" \
1919

20-
go mod download github.com/azure/azure-container-networking/dropgz@$DROPGZ_VERSION
21-
pushd "$GOPATH"/pkg/mod/github.com/azure/azure-container-networking/dropgz\@$DROPGZ_VERSION
22-
cp "$IPAM_BUILD_DIR"/* pkg/embed/fs/
23-
GOOS=$OS CGO_ENABLED=0 go build -a -o "$OUT_DIR"/bins/dropgz -trimpath -ldflags "-X github.com/Azure/azure-container-networking/dropgz/internal/buildinfo.Version="$VERSION"" -gcflags="-dwarflocationlists=true" main.go
20+
cp *.conflist "$OUT_DIR"/files/
2421
popd
22+
23+
24+
# Build with DropGZ
25+
./dropgz.sh

.pipelines/build/scripts/cni.sh

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,26 @@ pwd
44
ls -la
55

66
mkdir -p "$OUT_DIR"/files
7-
mkdir -p "$OUT_DIR"/bins
7+
mkdir -p "$OUT_DIR"/bin
88

99
export GOOS=$OS
1010
export GOARCH=$ARCH
1111
export CGO_ENABLED=0
1212

13-
CNI_BUILD_DIR="$REPO_ROOT"/cni
14-
STATELESS_CNI_BUILD_DIR="$CNI_BUILD_DIR"/stateless
15-
CNI_MULTITENANCY_BUILD_DIR="$REPO_ROOT"/cni-multitenancy
16-
CNI_MULTITENANCY_TRANSPARENT_VLAN_BUILD_DIR="$REPO_ROOT"/cni-multitenancy-transparent-vlan
17-
CNI_SWIFT_BUILD_DIR="$REPO_ROOT"/cni-swift
18-
CNI_OVERLAY_BUILD_DIR="$REPO_ROOT"/cni-overlay
19-
CNI_BAREMETAL_BUILD_DIR="$REPO_ROOT"/cni-baremetal
20-
CNI_DUALSTACK_BUILD_DIR="$REPO_ROOT"/cni-dualstack
21-
22-
CNI_TEMP_DIR=$(mktemp -d -p "$GEN_DIR")
2313

2414
CNI_NET_DIR="$REPO_ROOT"/cni/network/plugin
2515
pushd "$CNI_NET_DIR"
2616
go build -v -a -trimpath \
27-
-o "$OUT_DIR"/bins/azure-vnet \
17+
-o "$OUT_DIR"/bin/azure-vnet \
2818
-ldflags "-X main.version="$CNI_VERSION"" \
2919
-gcflags="-dwarflocationlists=true" \
3020
./main.go
3121
popd
3222

33-
STATELESS_CNI_NET_DIR="$REPO_ROOT"/cni/network/stateless
34-
pushd "$STATELESS_CNI_NET_DIR"
23+
STATELESS_CNI_BUILD_DIR="$REPO_ROOT"/cni/network/stateless
24+
pushd "$STATELESS_CNI_BUILD_DIR"
3525
go build -v -a -trimpath \
36-
-o "$OUT_DIR"/bins/azure-vnet-stateless \
26+
-o "$OUT_DIR"/bin/azure-vnet-stateless \
3727
-ldflags "-X main.version="$CNI_VERSION"" \
3828
-gcflags="-dwarflocationlists=true" \
3929
./main.go
@@ -42,7 +32,7 @@ popd
4232
CNI_IPAM_DIR="$REPO_ROOT"/cni/ipam/plugin
4333
pushd "$CNI_IPAM_DIR"
4434
go build -v -a -trimpath \
45-
-o "$OUT_DIR"/bins/azure-vnet-ipam \
35+
-o "$OUT_DIR"/bin/azure-vnet-ipam \
4636
-ldflags "-X main.version="$CNI_VERSION"" \
4737
-gcflags="-dwarflocationlists=true" \
4838
./main.go
@@ -51,7 +41,7 @@ popd
5141
CNI_IPAMV6_DIR="$REPO_ROOT"/cni/ipam/pluginv6
5242
pushd "$CNI_IPAMV6_DIR"
5343
go build -v -a -trimpath \
54-
-o "$OUT_DIR"/bins/azure-vnet-ipamv6
44+
-o "$OUT_DIR"/bin/azure-vnet-ipamv6
5545
-ldflags "-X main.version="$CNI_VERSION"" \
5646
-gcflags="-dwarflocationlists=true" \
5747
./main.go
@@ -60,7 +50,7 @@ popd
6050
CNI_TELEMETRY_DIR="$REPO_ROOT"/cni/telemetry/service
6151
pushd "$CNI_TELEMETRY_DIR"
6252
go build -v -a -trimpath \
63-
-o "$OUT_DIR"/bins/azure-vnet-telemetry \
53+
-o "$OUT_DIR"/bin/azure-vnet-telemetry \
6454
-ldflags "-X main.version="$CNI_VERSION" -X "$CNI_AI_PATH"="$CNI_AI_ID"" \
6555
-gcflags="-dwarflocationlists=true" \
6656
./telemetrymain.go
@@ -73,21 +63,10 @@ pushd "$REPO_ROOT"/cni
7363
cp azure-$OS-swift-overlay.conflist "$OUT_DIR"/files/azure-swift-overlay.conflist
7464
cp azure-$OS-swift-overlay-dualstack.conflist "$OUT_DIR"/files/azure-swift-overlay-dualstack.conflist
7565
cp azure-$OS-multitenancy.conflist "$OUT_DIR"/files/multitenancy.conflist
76-
cp ../telemetry/azure-vnet-telemetry.config "$OUT_DIR"/files/azure-vnet-telemetry.config
77-
sha256sum * > sum.txt
66+
cp "$REPO_ROOT"/telemetry/azure-vnet-telemetry.config "$OUT_DIR"/files/azure-vnet-telemetry.config
67+
#sha256sum * > sum.txt
7868
#gzip --verbose --best --recursive "$OUT_DIR" && for f in *.gz; do mv -- "$f" "${f%%.gz}"; done
7969
popd
8070

81-
82-
mkdir -p "$CNI_TEMP_DIR"
83-
GOPATH="$CNI_TEMP_DIR" go mod download github.com/azure/azure-container-networking/dropgz@$DROPGZ_VERSION
84-
85-
pushd "$CNI_TEMP_DIR"/pkg/mod/github.com/azure/azure-container-networking/dropgz\@$DROPGZ_VERSION
86-
cp "$OUT_DIR"/files/* pkg/embed/fs/
87-
cp "$OUT_DIR"/bins/* pkg/embed/fs/
88-
go build -a \
89-
-o "$OUT_DIR"/bins/dropgz \
90-
-ldflags "-X github.com/Azure/azure-container-networking/dropgz/internal/buildinfo.Version="$VERSION"" \
91-
-gcflags="-dwarflocationlists=true" \
92-
./main.go
93-
popd
71+
# Build with DropGZ
72+
./dropgz.sh

.pipelines/build/scripts/cns.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ export GOARCH=$ARCH
66
export CGO_ENABLED=0
77

88
mkdir -p "$OUT_DIR"/files
9-
mkdir -p "$OUT_DIR"/bins
9+
mkdir -p "$OUT_DIR"/bin
1010

1111
pushd "$REPO_ROOT"/cns
1212
go build -v -a \
13-
-o "$OUT_DIR"/bins/azure-cns \
13+
-o "$OUT_DIR"/bin/azure-cns \
1414
-ldflags "-X main.version="$CNS_VERSION" -X "$CNS_AI_PATH"="$CNS_AI_ID"" \
1515
-gcflags="-dwarflocationlists=true" \
1616
service/*.go

.pipelines/build/scripts/dropgz.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
export GOOS=$OS
2+
export GOARCH=$ARCH
3+
export CGO_ENABLED=0
4+
5+
DROPGZ_VERSION="${DROPGZ_VERSION:-v0.0.12}"
6+
DROPGZ_BUILD_DIR=$(mktemp -d -p "$GEN_DIR")
7+
DROPGZ_MOD_DOWNLOAD_PATH=""$ACN_PACKAGE_PATH"/dropgz@"$DROPGZ_VERSION""
8+
9+
mkdir -p "$OUT_DIR"/bin
10+
mkdir -p "$DROPGZ_BUILD_DIR"
11+
12+
GOPATH="$DROPGZ_BUILD_DIR" \
13+
go mod download "$DROPGZ_MOD_DOWNLOAD_PATH"
14+
15+
pushd "$DROPGZ_BUILD_DIR"/pkg/mod/"$DROPGZ_MOD_DOWNLOAD_PATH"
16+
[[ -n $(stat "$OUT_DIR"/files 2>/dev/null || true) ]] && cp "$OUT_DIR"/files/* pkg/embed/fs/
17+
[[ -n $(stat "$OUT_DIR"/bin 2>/dev/null || true) ]] && cp "$OUT_DIR"/bin/* pkg/embed/fs/
18+
go build -v -trimpath -a \
19+
-o "$OUT_DIR"/bin/dropgz \
20+
-ldflags "-X github.com/Azure/azure-container-networking/dropgz/internal/buildinfo.Version="$DROPGZ_VERSION"" \
21+
-gcflags="-dwarflocationlists=true" \
22+
main.go
23+
popd

.pipelines/build/scripts/ipv6-hp-bpf.sh

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
#!/bin/bash
22
set -nex
3-
pwd
4-
ls -la
53

6-
mkdir -p "$OUT_DIR"/bins
4+
export GOOS=$OS
5+
export GOARCH=$ARCH
6+
export CGO_ENABLED=0
7+
export C_INCLUDE_PATH=/usr/include/bpf
8+
9+
mkdir -p "$OUT_DIR"/bin
710
mkdir -p "$OUT_DIR"/lib
811

912
# Package up Needed C Files
@@ -48,19 +51,21 @@ cp /lib/"$ARCH"/libbsd.so.0 "$OUT_DIR"/lib/
4851
cp /lib/"$ARCH"/libmd.so.0 "$OUT_DIR"/lib/
4952

5053
# Add Needed Binararies
51-
cp /usr/sbin/nft "$OUT_DIR"/bins/nft
52-
cp /sbin/ip "$OUT_DIR"/bins/ip
54+
cp /usr/sbin/nft "$OUT_DIR"/bin/nft
55+
cp /sbin/ip "$OUT_DIR"/bin/ip
5356

5457

5558
# Build IPv6 HP BPF
56-
export C_INCLUDE_PATH=/usr/include/bpf
5759
pushd "$REPO_ROOT"/bpf-prog/ipv6-hp-bpf
58-
cp ./cmd/ipv6-hp-bpf/*.go ./
60+
cp ./cmd/ipv6-hp-bpf/*.go .
5961

6062
if [ "$DEBUG" = "true" ]; then
6163
echo "\n#define DEBUG" >> ./include/helper.h
6264
fi
6365

64-
GOOS=$OS CGO_ENABLED=0 go generate ./...
65-
GOOS=$OS CGO_ENABLED=0 go build -a -o "$OUT_DIR"/bins/ipv6-hp-bpf -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" .
66+
go generate ./...
67+
go build -v -a -trimpath \
68+
-o "$OUT_DIR"/bin/ipv6-hp-bpf \
69+
-ldflags "-X main.version="$IPV6_HP_BPF_VERSION"" \
70+
-gcflags="-dwarflocationlists=true" .
6671
popd

0 commit comments

Comments
 (0)