Skip to content

Commit 5ccc01f

Browse files
committed
multicluster
1 parent 9bebe5e commit 5ccc01f

File tree

8 files changed

+1168
-8
lines changed

8 files changed

+1168
-8
lines changed

.github/workflows/bats.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,26 @@ jobs:
4141
name: kind-logs-${{ env.JOB_NAME }}-${{ github.run_id }}
4242
path: ./_artifacts
4343

44+
bats_multicluster_tests:
45+
runs-on: ubuntu-22.04
46+
name: Bats e2e multicluster tests
47+
steps:
48+
- name: Checkout
49+
uses: actions/checkout@v2
50+
- name: Setup Bats and bats libs
51+
id: setup-bats
52+
uses: bats-core/[email protected]
53+
- name: Bats tests
54+
shell: bash
55+
env:
56+
BATS_LIB_PATH: ${{ steps.setup-bats.outputs.lib-path }}
57+
TERM: xterm
58+
run: bats -o _artifacts --print-output-on-failure tests/multicluster/
59+
60+
- name: Upload logs
61+
if: always()
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: kind-logs-${{ env.JOB_NAME }}-${{ github.run_id }}
65+
path: ./_artifacts
66+

Makefile

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ REGISTRY?=gcr.io/k8s-staging-networking
1212
TAG?=$(shell echo "$$(date +v%Y%m%d)-$$(git describe --always --dirty)")
1313
PLATFORMS?=linux/amd64,linux/arm64
1414

15-
.PHONY: all build build-standard build-npa-v1alpha1 build-npa-v1alpha2 build-iptracker build-kube-ip-tracker-standard
15+
.PHONY: all build build-standard build-npa-v1alpha1 build-npa-v1alpha2 build-iptracker build-multicluster build-kube-ip-tracker-standard build-kube-ip-tracker-multicluster
1616

17-
build: build-standard build-npa-v1alpha1 build-npa-v1alpha2 build-iptracker build-kube-ip-tracker-standard
17+
build: build-standard build-npa-v1alpha1 build-npa-v1alpha2 build-iptracker build-multicluster build-kube-ip-tracker-standard build-kube-ip-tracker-multicluster
1818

1919
build-standard:
2020
@echo "Building standard binary..."
@@ -32,10 +32,18 @@ build-iptracker:
3232
@echo "Building iptracker binary..."
3333
go build -o ./bin/kube-network-policies-iptracker ./cmd/kube-network-policies/iptracker
3434

35+
build-multicluster:
36+
@echo "Building multicluster binary..."
37+
go build -o ./bin/kube-network-policies-multicluster ./cmd/kube-network-policies/multicluster
38+
3539
build-kube-ip-tracker-standard:
3640
@echo "Building kube-ip-tracker binary..."
3741
go build -o ./bin/kube-ip-tracker-standard ./cmd/kube-ip-tracker/standard
3842

43+
build-kube-ip-tracker-multicluster:
44+
@echo "Building multicluster binary..."
45+
go build -o ./bin/kube-ip-tracker-multicluster ./cmd/kube-ip-tracker/multicluster
46+
3947
clean:
4048
rm -rf "$(OUT_DIR)/"
4149

@@ -80,13 +88,25 @@ image-build-iptracker: build-iptracker
8088
--tag="${REGISTRY}/$(IMAGE_NAME):$(TAG)-iptracker" \
8189
--load
8290

91+
image-build-multicluster: build-multicluster
92+
docker buildx build . \
93+
--build-arg TARGET_BUILD=multicluster \
94+
--tag="${REGISTRY}/$(IMAGE_NAME):$(TAG)-multicluster" \
95+
--load
96+
8397
image-build-kube-ip-tracker-standard: build-kube-ip-tracker-standard
8498
docker buildx build . -f Dockerfile.iptracker \
8599
--build-arg TARGET_BUILD=standard \
86100
--tag="${REGISTRY}/kube-ip-tracker:$(TAG)" \
87101
--load
88102

89-
# Individual image push targets (multi-platform)
103+
image-build-kube-ip-tracker-multicluster: build-kube-ip-tracker-multicluster
104+
docker buildx build . -f Dockerfile.iptracker \
105+
--build-arg TARGET_BUILD=multicluster \
106+
--tag="${REGISTRY}/kube-ip-tracker:$(TAG)-multicluster" \
107+
--load
108+
109+
# Individual image push targets (multi-platform)ß
90110
image-push-standard: build-standard
91111
docker buildx build . \
92112
--build-arg TARGET_BUILD=standard \
@@ -115,20 +135,27 @@ image-push-iptracker: build-iptracker
115135
--tag="${REGISTRY}/$(IMAGE_NAME):$(TAG)-iptracker" \
116136
--push
117137

118-
image-push-kube-ip-tracker-standard: build-kube-ip-tracker-standard
138+
image-push-multicluster: build-multicluster
139+
docker buildx build . \
140+
--build-arg TARGET_BUILD=multicluster \
141+
--platform="${PLATFORMS}" \
142+
--tag="${REGISTRY}/$(IMAGE_NAME):$(TAG)-multicluster" \
143+
--push
144+
145+
image-push-kube-ip-tracker-multicluster: build-kube-ip-tracker-multicluster
119146
docker buildx build . -f Dockerfile.iptracker \
120-
--build-arg TARGET_BUILD=standard \
121-
--tag="${REGISTRY}/kube-ip-tracker:$(TAG)" \
147+
--build-arg TARGET_BUILD=multicluster \
148+
--tag="${REGISTRY}/kube-ip-tracker-multicluster:$(TAG)" \
122149
--push
123150

124151
# --- Aggregate Targets ---
125152
.PHONY: images-build images-push release
126153

127154
# Build all image variants and load them into the local Docker daemon
128-
images-build: ensure-buildx image-build-standard image-build-npa-v1alpha1 image-build-npa-v1alpha2 image-build-iptracker image-build-kube-ip-tracker-standard
155+
images-build: ensure-buildx image-build-standard image-build-npa-v1alpha1 image-build-npa-v1alpha2 image-build-iptracker image-build-kube-ip-tracker-standard image-build-kube-ip-tracker-multicluster
129156

130157
# Build and push all multi-platform image variants to the registry
131-
images-push: ensure-buildx image-push-standard image-push-npa-v1alpha1 image-build-npa-v1alpha2 image-push-iptracker image-push-kube-ip-tracker-standard
158+
images-push: ensure-buildx image-push-standard image-push-npa-v1alpha1 image-build-npa-v1alpha2 image-push-iptracker image-push-kube-ip-tracker-standard image-push-kube-ip-tracker-multicluster
132159

133160
# The main release target, which pushes all images
134161
release: images-push

0 commit comments

Comments
 (0)