Skip to content

Commit c156ea5

Browse files
authored
add cni
Signed-off-by: Evan Baker <[email protected]>
1 parent 2023e4a commit c156ea5

File tree

6 files changed

+93
-31
lines changed

6 files changed

+93
-31
lines changed

.github/workflows/baseimages.yaml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
name: 'Update Base Images'
1+
name: 'Latest Base Images'
22
on:
33
workflow_dispatch:
4-
schedule:
5-
- cron: '0 0 * * *' # Runs daily at midnight
4+
pull_request:
5+
types:
6+
- opened
7+
- reopened
8+
- synchronize
9+
- ready_for_review
10+
merge_group:
11+
types:
12+
- checks_requested
613

714
jobs:
815
render:
@@ -15,22 +22,11 @@ jobs:
1522
uses: actions/setup-go@v5
1623
with:
1724
go-version: '1.23'
18-
- name: Render Templates
25+
- name: Render Dockerfiles
1926
run: make dockerfiles
20-
- name: Check for changes
21-
id: check_changes
27+
- name: Fail if base images are outdated
2228
run: |
2329
if [ -n "$(git status --porcelain)" ]; then
24-
echo "##[set-output name=changes;]true"
25-
else
26-
echo "##[set-output name=changes;]false"
30+
echo "Changes detected. Please run 'make dockerfiles' locally to update the base images."
31+
exit 1
2732
fi
28-
- name: Create Pull Request
29-
if: steps.check_changes.outputs.changes == 'true'
30-
uses: peter-evans/create-pull-request@v5
31-
with:
32-
commit-message: 'deps: update base images'
33-
branch: 'base-image-update'
34-
title: 'deps: update base images'
35-
body: 'Automated base image updates.'
36-
labels: 'dependencies'

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -811,6 +811,7 @@ test-k8se2e-only: ## Run k8s network conformance test, use TYPE=basic for only d
811811

812812
dockerfiles: tools ## Render all Dockerfile templates with current state of world
813813
@make -f build/images.mk render PATH=cns
814+
@make -f build/images.mk render PATH=cni
814815

815816

816817
$(REPO_ROOT)/.git/hooks/pre-push:

cni/Dockerfile

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1+
# !! AUTOGENERATED - DO NOT EDIT !!
2+
# SOURCE: cni/Dockerfile.tmpl
13
ARG ARCH
24
ARG DROPGZ_VERSION=v0.0.12
35
ARG OS_VERSION
46
ARG OS
57

6-
# skopeo inspect docker://mcr.microsoft.com/oss/go/microsoft/golang:1.23.2-cbl-mariner2.0 --format "{{.Name}}@{{.Digest}}"
7-
FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang@sha256:f8613198423d5cb702961f1547f9cb061f8da1c6ca9ce8da4824eb47db663cd7 AS go
8+
# mcr.microsoft.com/oss/go/microsoft/golang:1.23-cbl-mariner2.0
9+
FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang@sha256:48731a521e1de4c77f42141d38c8ddb10342d3f5414c6c4adffb10a37bfdfe30 AS go
810

9-
# skopeo inspect docker://mcr.microsoft.com/cbl-mariner/base/core:2.0 --format "{{.Name}}@{{.Digest}}"
10-
FROM --platform=linux/${ARCH} mcr.microsoft.com/cbl-mariner/base/core@sha256:a490e0b0869dc570ae29782c2bc17643aaaad1be102aca83ce0b96e0d0d2d328 AS mariner-core
11+
# mcr.microsoft.com/cbl-mariner/base/core:2.0
12+
FROM --platform=linux/${ARCH} mcr.microsoft.com/cbl-mariner/base/core@sha256:ae7b5fdffdbec3a8be8201d0ba2ae46dbcf495dea77baf0d4b653902e1bb797b AS mariner-core
1113

1214
FROM go AS azure-vnet
1315
ARG OS
@@ -51,7 +53,9 @@ FROM scratch AS linux
5153
COPY --from=dropgz /go/bin/dropgz dropgz
5254
ENTRYPOINT [ "/dropgz" ]
5355

54-
# skopeo inspect docker://mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0 --format "{{.Name}}@{{.Digest}}"
55-
FROM mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as windows
56+
# mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0
57+
FROM --platform=windows/${ARCH} mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as hpc
58+
59+
FROM hpc as windows
5660
COPY --from=dropgz /go/bin/dropgz dropgz.exe
5761
ENTRYPOINT [ "/dropgz.exe" ]

cni/Dockerfile.tmpl

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# {{.RENDER_MSG}}
2+
# SOURCE: {{.SRC}}
3+
ARG ARCH
4+
ARG DROPGZ_VERSION=v0.0.12
5+
ARG OS_VERSION
6+
ARG OS
7+
8+
# {{.GO_IMG}}
9+
FROM --platform=linux/${ARCH} {{.GO_PIN}} AS go
10+
11+
# {{.MARINER_CORE_IMG}}
12+
FROM --platform=linux/${ARCH} {{.MARINER_CORE_PIN}} AS mariner-core
13+
14+
FROM go AS azure-vnet
15+
ARG OS
16+
ARG VERSION
17+
ARG CNI_AI_PATH
18+
ARG CNI_AI_ID
19+
WORKDIR /azure-container-networking
20+
COPY . .
21+
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/network/plugin/main.go
22+
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-telemetry -trimpath -ldflags "-X main.version="$VERSION" -X "$CNI_AI_PATH"="$CNI_AI_ID"" -gcflags="-dwarflocationlists=true" cni/telemetry/service/telemetrymain.go
23+
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-ipam -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/ipam/plugin/main.go
24+
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-stateless -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/network/stateless/main.go
25+
26+
FROM mariner-core AS compressor
27+
ARG OS
28+
WORKDIR /payload
29+
COPY --from=azure-vnet /go/bin/* /payload/
30+
COPY --from=azure-vnet /azure-container-networking/cni/azure-$OS.conflist /payload/azure.conflist
31+
COPY --from=azure-vnet /azure-container-networking/cni/azure-$OS-swift.conflist /payload/azure-swift.conflist
32+
COPY --from=azure-vnet /azure-container-networking/cni/azure-linux-multitenancy-transparent-vlan.conflist /payload/azure-multitenancy-transparent-vlan.conflist
33+
COPY --from=azure-vnet /azure-container-networking/cni/azure-$OS-swift-overlay.conflist /payload/azure-swift-overlay.conflist
34+
COPY --from=azure-vnet /azure-container-networking/cni/azure-$OS-swift-overlay-dualstack.conflist /payload/azure-swift-overlay-dualstack.conflist
35+
COPY --from=azure-vnet /azure-container-networking/cni/azure-$OS-multitenancy.conflist /payload/azure-multitenancy.conflist
36+
COPY --from=azure-vnet /azure-container-networking/telemetry/azure-vnet-telemetry.config /payload/azure-vnet-telemetry.config
37+
RUN cd /payload && sha256sum * > sum.txt
38+
RUN gzip --verbose --best --recursive /payload && for f in /payload/*.gz; do mv -- "$f" "${f%%.gz}"; done
39+
40+
FROM go AS dropgz
41+
ARG DROPGZ_VERSION
42+
ARG OS
43+
ARG VERSION
44+
RUN go mod download github.com/azure/azure-container-networking/dropgz@$DROPGZ_VERSION
45+
WORKDIR /go/pkg/mod/github.com/azure/azure-container-networking/dropgz\@$DROPGZ_VERSION
46+
COPY --from=compressor /payload/* pkg/embed/fs/
47+
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/dropgz -trimpath -ldflags "-X github.com/Azure/azure-container-networking/dropgz/internal/buildinfo.Version="$VERSION"" -gcflags="-dwarflocationlists=true" main.go
48+
49+
FROM scratch AS bins
50+
COPY --from=azure-vnet /go/bin/* /
51+
52+
FROM scratch AS linux
53+
COPY --from=dropgz /go/bin/dropgz dropgz
54+
ENTRYPOINT [ "/dropgz" ]
55+
56+
# {{.WIN_HPC_IMG}}
57+
FROM --platform=windows/${ARCH} {{.WIN_HPC_PIN}} as hpc
58+
59+
FROM hpc as windows
60+
COPY --from=dropgz /go/bin/dropgz dropgz.exe
61+
ENTRYPOINT [ "/dropgz.exe" ]

cns/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@ ARG OS_VERSION
55
ARG OS
66

77
# mcr.microsoft.com/oss/go/microsoft/golang:1.23-cbl-mariner2.0
8-
FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang@sha256:220fcfd381b16cd55b89edee97e2cff24b3a0d39f8be8005e719ab0976aeea90 AS go
8+
FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang@sha256:48731a521e1de4c77f42141d38c8ddb10342d3f5414c6c4adffb10a37bfdfe30 AS go
99

1010
# mcr.microsoft.com/cbl-mariner/base/core:2.0
1111
FROM mcr.microsoft.com/cbl-mariner/base/core@sha256:ae7b5fdffdbec3a8be8201d0ba2ae46dbcf495dea77baf0d4b653902e1bb797b AS mariner-core
1212

1313
# mcr.microsoft.com/cbl-mariner/distroless/minimal:2.0
1414
FROM mcr.microsoft.com/cbl-mariner/distroless/minimal@sha256:e301d8bfb230bf48c650379ac3c3066c0698a490dcca2003c77b1e35ea8ba9b4 AS mariner-distroless
1515

16-
# mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0
17-
FROM --platform=windows/${ARCH} mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as hpc
18-
1916
FROM --platform=linux/${ARCH} go AS builder
2017
ARG OS
2118
ARG CNS_AI_ID
@@ -35,6 +32,9 @@ COPY --from=builder /go/bin/azure-cns /usr/local/bin/azure-cns
3532
ENTRYPOINT [ "/usr/local/bin/azure-cns" ]
3633
EXPOSE 10090
3734

35+
# mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0
36+
FROM --platform=windows/${ARCH} mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as hpc
37+
3838
FROM hpc as windows
3939
COPY --from=builder /azure-container-networking/cns/kubeconfigtemplate.yaml kubeconfigtemplate.yaml
4040
COPY --from=builder /azure-container-networking/npm/examples/windows/setkubeconfigpath.ps1 setkubeconfigpath.ps1

cns/Dockerfile.tmpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ FROM {{.MARINER_CORE_PIN}} AS mariner-core
1313
# {{.MARINER_DISTROLESS_IMG}}
1414
FROM {{.MARINER_DISTROLESS_PIN}} AS mariner-distroless
1515

16-
# {{.WIN_HPC_IMG}}
17-
FROM --platform=windows/${ARCH} {{.WIN_HPC_PIN}} as hpc
18-
1916
FROM --platform=linux/${ARCH} go AS builder
2017
ARG OS
2118
ARG CNS_AI_ID
@@ -35,6 +32,9 @@ COPY --from=builder /go/bin/azure-cns /usr/local/bin/azure-cns
3532
ENTRYPOINT [ "/usr/local/bin/azure-cns" ]
3633
EXPOSE 10090
3734

35+
# {{.WIN_HPC_IMG}}
36+
FROM --platform=windows/${ARCH} {{.WIN_HPC_PIN}} as hpc
37+
3838
FROM hpc as windows
3939
COPY --from=builder /azure-container-networking/cns/kubeconfigtemplate.yaml kubeconfigtemplate.yaml
4040
COPY --from=builder /azure-container-networking/npm/examples/windows/setkubeconfigpath.ps1 setkubeconfigpath.ps1

0 commit comments

Comments
 (0)