Build: Fix multi-arch docker builds
Change-Id: I3968065215b696256ee819e2062ab1d3cadfcbcf
diff --git a/core/auth/memberships/Makefile b/core/auth/memberships/Makefile
index 5959f01..957ece1 100644
--- a/core/auth/memberships/Makefile
+++ b/core/auth/memberships/Makefile
@@ -1,6 +1,6 @@
-repo_name ?= dtabidze
+repo_name ?= giolekva
podman ?= docker
-manifest_dest =
+docker_flags=--provenance=false --sbom=false
ifeq ($(podman), podman)
manifest_dest=docker://docker.io/$(repo_name)/memberships:latest
endif
@@ -30,14 +30,13 @@
/usr/local/go/bin/go build -o memberships_amd64 *.go
push_arm64: build_arm64
- $(podman) build --platform linux/arm64 --tag=$(repo_name)/memberships:arm64 .
+ $(podman) build --platform linux/arm64 --tag=$(repo_name)/memberships:arm64 $(docker_flags) .
$(podman) push $(repo_name)/memberships:arm64
push_amd64: build_amd64
- $(podman) build --platform linux/amd64 --tag=$(repo_name)/memberships:amd64 .
+ $(podman) build --platform linux/amd64 --tag=$(repo_name)/memberships:amd64 $(docker_flags) .
$(podman) push $(repo_name)/memberships:amd64
push: push_arm64 push_amd64
$(podman) manifest create $(repo_name)/memberships:latest $(repo_name)/memberships:arm64 $(repo_name)/memberships:amd64
- $(podman) manifest push $(repo_name)/memberships:latest $(manifest_dest)
- $(podman) manifest rm $(repo_name)/memberships:latest
+ $(podman) manifest push --purge $(repo_name)/memberships:latest $(manifest_dest)
diff --git a/core/auth/proxy/Makefile b/core/auth/proxy/Makefile
index 83fa29d..a7203d5 100644
--- a/core/auth/proxy/Makefile
+++ b/core/auth/proxy/Makefile
@@ -1,5 +1,6 @@
repo_name ?= giolekva
podman ?= docker
+docker_flags=--provenance=false --sbom=false
ifeq ($(podman), podman)
manifest_dest=docker://docker.io/$(repo_name)/auth-proxy:latest
endif
@@ -25,15 +26,14 @@
/usr/local/go/bin/go build -o server_amd64 *.go
push_arm64: clean build_arm64
- $(podman) build --platform linux/arm64 --tag=$(repo_name)/auth-proxy:arm64 .
+ $(podman) build --platform linux/arm64 --tag=$(repo_name)/auth-proxy:arm64 $(docker_flags) .
$(podman) push $(repo_name)/auth-proxy:arm64
push_amd64: clean build_amd64
- $(podman) build --platform linux/amd64 --tag=$(repo_name)/auth-proxy:amd64 .
+ $(podman) build --platform linux/amd64 --tag=$(repo_name)/auth-proxy:amd64 $(docker_flags) .
$(podman) push $(repo_name)/auth-proxy:amd64
push: push_arm64 push_amd64
$(podman) manifest create $(repo_name)/auth-proxy:latest $(repo_name)/auth-proxy:arm64 $(repo_name)/auth-proxy:amd64
- $(podman) manifest push $(repo_name)/auth-proxy:latest $(manifest_dest)
- $(podman) manifest rm $(repo_name)/auth-proxy:latest
+ $(podman) manifest push --purge $(repo_name)/auth-proxy:latest $(manifest_dest)
diff --git a/core/auth/ui/Makefile b/core/auth/ui/Makefile
index 23ae76b..cb29df7 100644
--- a/core/auth/ui/Makefile
+++ b/core/auth/ui/Makefile
@@ -1,5 +1,6 @@
-repo_name ?= dtabidze
+repo_name ?= giolekva
podman ?= docker
+docker_flags=--provenance=false --sbom=false
ifeq ($(podman), podman)
manifest_dest=docker://docker.io/$(repo_name)/pcloud-installer:latest
endif
@@ -25,15 +26,14 @@
go build -o server_amd64 *.go
push_arm64: clean build_arm64
- $(podman) build --platform linux/arm64 --tag=$(repo_name)/auth-ui:arm64 .
+ $(podman) build --platform linux/arm64 --tag=$(repo_name)/auth-ui:arm64 $(docker_flags) .
$(podman) push $(repo_name)/auth-ui:arm64
push_amd64: clean build_amd64
- $(podman) build --platform linux/amd64 --tag=$(repo_name)/auth-ui:amd64 .
+ $(podman) build --platform linux/amd64 --tag=$(repo_name)/auth-ui:amd64 $(docker_flags) .
$(podman) push $(repo_name)/auth-ui:amd64
push: push_arm64 push_amd64
$(podman) manifest create $(repo_name)/auth-ui:latest $(repo_name)/auth-ui:arm64 $(repo_name)/auth-ui:amd64
- $(podman) manifest push $(repo_name)/auth-ui:latest $(manifest_dest)
- $(podman) manifest rm $(repo_name)/auth-ui:latest
+ $(podman) manifest push --purge $(repo_name)/auth-ui:latest $(manifest_dest)
diff --git a/core/dns-api/Makefile b/core/dns-api/Makefile
index bd78618..8bef469 100644
--- a/core/dns-api/Makefile
+++ b/core/dns-api/Makefile
@@ -1,5 +1,6 @@
repo_name ?= dtabidze
podman ?= docker
+docker_flags=--provenance=false --sbom=false
ifeq ($(podman), podman)
manifest_dest=docker://docker.io/$(repo_name)/dns-api:latest
endif
@@ -26,14 +27,13 @@
/usr/local/go/bin/go build -o dns-api_amd64 *.go
push_arm64: clean build_arm64
- $(podman) build --platform linux/arm64 --tag=giolekva/dns-api:arm64 .
+ $(podman) build --platform linux/arm64 --tag=giolekva/dns-api:arm64 $(docker_flags) .
$(podman) push giolekva/dns-api:arm64
push_amd64: clean build_amd64
- $(podman) build --platform linux/amd64 --tag=giolekva/dns-api:amd64 .
+ $(podman) build --platform linux/amd64 --tag=giolekva/dns-api:amd64 $(docker_flags) .
$(podman) push giolekva/dns-api:amd64
push: push_arm64 push_amd64
$(podman) manifest create giolekva/dns-api:latest giolekva/dns-api:arm64 giolekva/dns-api:amd64
- $(podman) manifest push giolekva/dns-api:latest $(manifest_dest)
- $(podman) manifest rm giolekva/dns-api:latest
+ $(podman) manifest push --purge giolekva/dns-api:latest $(manifest_dest)
diff --git a/core/dns-challenge-solver/Makefile b/core/dns-challenge-solver/Makefile
index e43ccb2..0fc388d 100644
--- a/core/dns-challenge-solver/Makefile
+++ b/core/dns-challenge-solver/Makefile
@@ -1,5 +1,6 @@
-repo_name ?= dtabidze
+repo_name ?= giolekva
podman ?= docker
+docker_flags=--provenance=false --sbom=false
ifeq ($(podman), podman)
manifest_dest=docker://docker.io/$(repo_name)/dns-challenge-solver:latest
endif
@@ -26,14 +27,13 @@
/usr/local/go/bin/go build -o dns-challenge-solver_amd64 *.go
push_arm64: clean build_arm64
- $(podman) build --platform linux/arm64 --tag=giolekva/dns-challenge-solver:arm64 .
+ $(podman) build --platform linux/arm64 --tag=giolekva/dns-challenge-solver:arm64 $(docker_flags) .
$(podman) push giolekva/dns-challenge-solver:arm64
push_amd64: clean build_amd64
- $(podman) build --platform linux/amd64 --tag=giolekva/dns-challenge-solver:amd64 .
+ $(podman) build --platform linux/amd64 --tag=giolekva/dns-challenge-solver:amd64 $(docker_flags) .
$(podman) push giolekva/dns-challenge-solver:amd64
push: push_arm64 push_amd64
$(podman) manifest create giolekva/dns-challenge-solver:latest giolekva/dns-challenge-solver:arm64 giolekva/dns-challenge-solver:amd64
- $(podman) manifest push giolekva/dns-challenge-solver:latest $(manifest_dest)
- $(podman) manifest rm giolekva/dns-challenge-solver:latest
+ $(podman) manifest push --purge giolekva/dns-challenge-solver:latest $(manifest_dest)
diff --git a/core/fluxcd-reconciler/Makefile b/core/fluxcd-reconciler/Makefile
index 0ef3b6c..3cdf26a 100644
--- a/core/fluxcd-reconciler/Makefile
+++ b/core/fluxcd-reconciler/Makefile
@@ -1,5 +1,6 @@
repo_name ?= giolekva
podman ?= docker
+docker_flags=--provenance=false --sbom=false
ifeq ($($(podman)), $(podman))
manifest_dest=docker://docker.io/$(repo_name)/fluxcd-reconciler:latest
endif
@@ -33,18 +34,17 @@
push_arm64: clean build_arm64
mkdir tmp
cp -r ../../charts tmp/
- $(podman) build --platform linux/arm64 --tag=$(repo_name)/fluxcd-reconciler:arm64 .
+ $(podman) build --platform linux/arm64 --tag=$(repo_name)/fluxcd-reconciler:arm64 $(docker_flags) .
rm -rf tmp
$(podman) push $(repo_name)/fluxcd-reconciler:arm64
push_amd64: clean build_amd64
mkdir tmp
cp -r ../../charts tmp/
- $(podman) build --platform linux/amd64 --tag=$(repo_name)/fluxcd-reconciler:amd64 .
+ $(podman) build --platform linux/amd64 --tag=$(repo_name)/fluxcd-reconciler:amd64 $(docker_flags) .
rm -rf tmp
$(podman) push $(repo_name)/fluxcd-reconciler:amd64
push: push_arm64 push_amd64
$(podman) manifest create $(repo_name)/fluxcd-reconciler:latest $(repo_name)/fluxcd-reconciler:arm64 $(repo_name)/fluxcd-reconciler:amd64
- $(podman) manifest push $(repo_name)/fluxcd-reconciler:latest $(manifest_dest)
- $(podman) manifest rm $(repo_name)/fluxcd-reconciler:latest
+ $(podman) manifest push --purge $(repo_name)/fluxcd-reconciler:latest $(manifest_dest)
diff --git a/core/headscale/Makefile b/core/headscale/Makefile
index 9468ad6..ee080a3 100644
--- a/core/headscale/Makefile
+++ b/core/headscale/Makefile
@@ -1,5 +1,6 @@
repo_name ?= giolekva
podman ?= docker
+docker_flags=--provenance=false --sbom=false
ifeq ($(podman), podman)
manifest_dest=docker://docker.io/$(repo_name)/headscale-api:latest
endif
@@ -22,15 +23,14 @@
go build -o server_amd64 *.go
push_arm64: clean build_arm64
- $(podman) build --platform linux/arm64 --tag=$(repo_name)/headscale-api:arm64 .
+ $(podman) build --platform linux/arm64 --tag=$(repo_name)/headscale-api:arm64 $(docker_flags) .
$(podman) push $(repo_name)/headscale-api:arm64
push_amd64: clean build_amd64
- $(podman) build --platform linux/amd64 --tag=$(repo_name)/headscale-api:amd64 .
+ $(podman) build --platform linux/amd64 --tag=$(repo_name)/headscale-api:amd64 $(docker_flags) .
$(podman) push $(repo_name)/headscale-api:amd64
push: push_arm64 push_amd64
$(podman) manifest create $(repo_name)/headscale-api:latest $(repo_name)/headscale-api:arm64 $(repo_name)/headscale-api:amd64
- $(podman) manifest push $(repo_name)/headscale-api:latest $(manifest_dest)
- $(podman) manifest rm $(repo_name)/headscale-api:latest
+ $(podman) manifest push --purge $(repo_name)/headscale-api:latest $(manifest_dest)
diff --git a/core/headscale/controller/Makefile b/core/headscale/controller/Makefile
index d32e0e4..67e56f2 100644
--- a/core/headscale/controller/Makefile
+++ b/core/headscale/controller/Makefile
@@ -1,3 +1,4 @@
+docker_flags=--provenance=false --sbom=false
# Image URL to use all building/pushing image targets
IMG ?= giolekva/headscale-controller:latest
@@ -87,16 +88,15 @@
.PHONY: docker-build
docker-build: test clean build_arm64 build_amd64 ## Build docker image with the manager.
- podman build --platform linux/arm64 --tag ${IMG}-arm64 .
- podman build --platform linux/amd64 --tag ${IMG}-amd64 .
+ docker build --platform linux/arm64 --tag ${IMG}-arm64 $(docker_flags) .
+ docker build --platform linux/amd64 --tag ${IMG}-amd64 $(docker_flags) .
.PHONY: docker-push
-docker-push: ## Push docker image with the manager.
- podman push ${IMG}-arm64
- podman push ${IMG}-amd64
- podman manifest create ${IMG} ${IMG}-arm64 ${IMG}-amd64
- podman manifest push ${IMG} docker://docker.io/${IMG}
- podman manifest rm ${IMG}
+docker-push: docker-build
+ docker push ${IMG}-arm64
+ docker push ${IMG}-amd64
+ docker manifest create ${IMG} ${IMG}-arm64 ${IMG}-amd64
+ docker manifest push --purge ${IMG}
##@ Deployment
diff --git a/core/headscale/controller/api/v1/groupversion_info.go b/core/headscale/controller/api/v1/groupversion_info.go
index 2449e9e..7536a7e 100644
--- a/core/headscale/controller/api/v1/groupversion_info.go
+++ b/core/headscale/controller/api/v1/groupversion_info.go
@@ -15,8 +15,8 @@
*/
// Package v1 contains API Schema definitions for the headscale v1 API group
-//+kubebuilder:object:generate=true
-//+groupName=headscale.dodo.cloud
+// +kubebuilder:object:generate=true
+// +groupName=headscale.dodo.cloud
package v1
import (
diff --git a/core/installer/Makefile b/core/installer/Makefile
index 0fc236c..fe61694 100644
--- a/core/installer/Makefile
+++ b/core/installer/Makefile
@@ -1,5 +1,6 @@
repo_name ?= giolekva
podman ?= docker
+docker_flags=--provenance=false --sbom=false
ifeq ($(podman), podman)
manifest_dest=docker://docker.io/$(repo_name)/pcloud-installer:latest
endif
@@ -67,18 +68,17 @@
push_arm64: clean build_arm64
mkdir tmp
cp -r ../../charts tmp/
- $(podman) build --platform linux/arm64 --tag=$(repo_name)/pcloud-installer:arm64 .
+ $(podman) build --platform linux/arm64 --tag=$(repo_name)/pcloud-installer:arm64 $(docker_flags) .
rm -rf tmp
$(podman) push $(repo_name)/pcloud-installer:arm64
push_amd64: clean build_amd64
mkdir tmp
cp -r ../../charts tmp/
- $(podman) build --platform linux/amd64 --tag=$(repo_name)/pcloud-installer:amd64 .
+ $(podman) build --platform linux/amd64 --tag=$(repo_name)/pcloud-installer:amd64 $(docker_flags) .
rm -rf tmp
$(podman) push $(repo_name)/pcloud-installer:amd64
push: push_arm64 push_amd64
$(podman) manifest create $(repo_name)/pcloud-installer:latest $(repo_name)/pcloud-installer:arm64 $(repo_name)/pcloud-installer:amd64
- $(podman) manifest push $(repo_name)/pcloud-installer:latest $(manifest_dest)
- $(podman) manifest rm $(repo_name)/pcloud-installer:latest
+ $(podman) manifest push --purge $(repo_name)/pcloud-installer:latest $(manifest_dest)
diff --git a/core/port-allocator/Makefile b/core/port-allocator/Makefile
index 3133983..3135f4a 100644
--- a/core/port-allocator/Makefile
+++ b/core/port-allocator/Makefile
@@ -1,5 +1,6 @@
repo_name ?= giolekva
podman ?= docker
+docker_flags=--provenance=false --sbom=false
ifeq ($(podman), podman)
manifest_dest=docker://docker.io/$(repo_name)/port-allocator:latest
endif
@@ -34,14 +35,13 @@
/usr/local/go/bin/go build -o server_amd64 *.go
push_arm64: clean build_arm64
- $(podman) build --platform linux/arm64 --tag=$(repo_name)/port-allocator:arm64 .
+ $(podman) build --platform linux/arm64 --tag=$(repo_name)/port-allocator:arm64 $(docker_flags) .
$(podman) push $(repo_name)/port-allocator:arm64
push_amd64: clean build_amd64
- $(podman) build --platform linux/amd64 --tag=$(repo_name)/port-allocator:amd64 .
+ $(podman) build --platform linux/amd64 --tag=$(repo_name)/port-allocator:amd64 $(docker_flags) .
$(podman) push $(repo_name)/port-allocator:amd64
push: push_arm64 push_amd64
$(podman) manifest create $(repo_name)/port-allocator:latest $(repo_name)/port-allocator:arm64 $(repo_name)/port-allocator:amd64
- $(podman) manifest push $(repo_name)/port-allocator:latest $(manifest_dest)
- $(podman) manifest rm $(repo_name)/port-allocator:latest
+ $(podman) manifest push --purge $(repo_name)/port-allocator:latest $(manifest_dest)
diff --git a/core/resource-renderer/Makefile b/core/resource-renderer/Makefile
index ae6b7d3..87665d6 100644
--- a/core/resource-renderer/Makefile
+++ b/core/resource-renderer/Makefile
@@ -1,3 +1,4 @@
+docker_flags=--provenance=false --sbom=false
# Image URL to use all building/pushing image targets
IMG ?= giolekva/resource-renderer-controller
@@ -88,16 +89,15 @@
.PHONY: docker-build
docker-build: test clean build_arm64 build_amd64 ## Build docker image with the manager.
- docker build --platform linux/arm64 --tag ${IMG}:arm64 .
- docker build --platform linux/amd64 --tag ${IMG}:amd64 .
+ docker build --platform linux/arm64 --tag ${IMG}:arm64 $(docker_flags) .
+ docker build --platform linux/amd64 --tag ${IMG}:amd64 $(docker_flags) .
.PHONY: docker-push
-docker-push: ## Push docker image with the manager.
+docker-push: docker-build ## Push docker image with the manager.
docker push ${IMG}:arm64
docker push ${IMG}:amd64
docker manifest create ${IMG}:latest ${IMG}:arm64 ${IMG}:amd64
- docker manifest push ${IMG}:latest
- docker manifest rm ${IMG}:latest
+ docker manifest push --purge ${IMG}:latest
##@ Deployment
diff --git a/core/resource-renderer/api/v1/groupversion_info.go b/core/resource-renderer/api/v1/groupversion_info.go
index 8076936..1abc826 100644
--- a/core/resource-renderer/api/v1/groupversion_info.go
+++ b/core/resource-renderer/api/v1/groupversion_info.go
@@ -15,8 +15,8 @@
*/
// Package v1 contains API Schema definitions for the dodo.cloud v1 API group
-//+kubebuilder:object:generate=true
-//+groupName=dodo.cloud.dodo.cloud
+// +kubebuilder:object:generate=true
+// +groupName=dodo.cloud.dodo.cloud
package v1
import (