Build: Fix multi-arch docker builds

Change-Id: I3968065215b696256ee819e2062ab1d3cadfcbcf
diff --git a/apps/app-repository/Makefile b/apps/app-repository/Makefile
index b9d7bc2..09b9a8c 100644
--- a/apps/app-repository/Makefile
+++ b/apps/app-repository/Makefile
@@ -1,3 +1,10 @@
+repo_name ?= giolekva
+podman ?= docker
+docker_flags=--provenance=false --sbom=false
+ifeq ($(podman), podman)
+manifest_dest=docker://docker.io/$(repo_name)/app-repository:latest
+endif
+
 clean:
 	rm -f server_*
 
@@ -16,18 +23,14 @@
 	go build -o server_amd64 cmd/*.go
 
 push_arm64: clean build_arm64
-	podman build --platform linux/arm64 --tag=giolekva/app-repository:arm64 .
-	podman push giolekva/app-repository:arm64
+	$(podman) build --platform linux/arm64 --tag=giolekva/app-repository:arm64 $(docker_flags) .
+	$(podman) push giolekva/app-repository:arm64
 
 push_amd64: clean build_amd64
-	podman build --platform linux/amd64 --tag=giolekva/app-repository:amd64 .
-	podman push giolekva/app-repository:amd64
+	$(podman) build --platform linux/amd64 --tag=giolekva/app-repository:amd64 $(docker_flags) .
+	$(podman) push giolekva/app-repository:amd64
 
 
 push: push_arm64 push_amd64
-	podman manifest create giolekva/app-repository:latest giolekva/app-repository:arm64 giolekva/app-repository:amd64
-	podman manifest push giolekva/app-repository:latest docker://docker.io/giolekva/app-repository:latest
-	podman manifest rm giolekva/app-repository:latest
-
-run:
-	go run cmd/*.go
+	$(podman) manifest create giolekva/app-repository:latest giolekva/app-repository:arm64 giolekva/app-repository:amd64
+	$(podman) manifest push --purge giolekva/app-repository:latest $(manifest_dest)
diff --git a/apps/app-runner/Makefile b/apps/app-runner/Makefile
index 8f11f8b..72fcb79 100644
--- a/apps/app-runner/Makefile
+++ b/apps/app-runner/Makefile
@@ -1,5 +1,6 @@
 repo_name ?= giolekva
 podman ?= docker
+docker_flags=--provenance=false --sbom=false
 ifeq ($(podman), podman)
 manifest_dest_golang_1_24_0=docker://docker.io/$(repo_name)/app-runner:golang-1.24.0
 manifest_dest_golang_1_22_0=docker://docker.io/$(repo_name)/app-runner:golang-1.22.0
@@ -30,11 +31,11 @@
 # Golang 1.24.0
 
 push_golang_1_24_0_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:golang-1.24.0-arm64 -f Dockerfile.golang.1.24.0 .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:golang-1.24.0-arm64 -f Dockerfile.golang.1.24.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:golang-1.24.0-arm64
 
 push_golang_1_24_0_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:golang-1.24.0-amd64 -f Dockerfile.golang.1.24.0 .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:golang-1.24.0-amd64 -f Dockerfile.golang.1.24.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:golang-1.24.0-amd64
 
 push_golang_1_24_0: push_golang_1_24_0_arm64 push_golang_1_24_0_amd64
@@ -45,11 +46,11 @@
 # Golang 1.22.0
 
 push_golang_1_22_0_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:golang-1.22.0-arm64 -f Dockerfile.golang.1.22.0 .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:golang-1.22.0-arm64 -f Dockerfile.golang.1.22.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:golang-1.22.0-arm64
 
 push_golang_1_22_0_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:golang-1.22.0-amd64 -f Dockerfile.golang.1.22.0 .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:golang-1.22.0-amd64 -f Dockerfile.golang.1.22.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:golang-1.22.0-amd64
 
 push_golang_1_22_0: push_golang_1_22_0_arm64 push_golang_1_22_0_amd64
@@ -60,11 +61,11 @@
 # Golang 1.20.0
 
 push_golang_1_20_0_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:golang-1.20.0-arm64 -f Dockerfile.golang.1.20.0 .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:golang-1.20.0-arm64 -f Dockerfile.golang.1.20.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:golang-1.20.0-arm64
 
 push_golang_1_20_0_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:golang-1.20.0-amd64 -f Dockerfile.golang.1.20.0 .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:golang-1.20.0-amd64 -f Dockerfile.golang.1.20.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:golang-1.20.0-amd64
 
 push_golang_1_20_0: push_golang_1_20_0_arm64 push_golang_1_20_0_amd64
@@ -75,11 +76,11 @@
 # Hugo
 
 push_hugo_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:hugo-latest-arm64 -f Dockerfile.hugo .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:hugo-latest-arm64 -f Dockerfile.hugo $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:hugo-latest-arm64
 
 push_hugo_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:hugo-latest-amd64 -f Dockerfile.hugo .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:hugo-latest-amd64 -f Dockerfile.hugo $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:hugo-latest-amd64
 
 push_hugo: push_hugo_arm64 push_hugo_amd64
@@ -90,11 +91,11 @@
 # PHP
 
 push_php_8_2_apache_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:php-8.2-apache-arm64 -f Dockerfile.php.8.2.apache .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:php-8.2-apache-arm64 -f Dockerfile.php.8.2.apache $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:php-8.2-apache-arm64
 
 push_php_8_2_apache_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:php-8.2-apache-amd64 -f Dockerfile.php.8.2.apache .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:php-8.2-apache-amd64 -f Dockerfile.php.8.2.apache $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:php-8.2-apache-amd64
 
 push_php_8_2_apache: push_php_8_2_apache_arm64 push_php_8_2_apache_amd64
@@ -105,11 +106,11 @@
 # Nextjs
 
 push_nextjs_deno_2_0_0_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:nextjs-deno-2.0.0-arm64 -f Dockerfile.nextjs.deno.2.0.0 .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:nextjs-deno-2.0.0-arm64 -f Dockerfile.nextjs.deno.2.0.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:nextjs-deno-2.0.0-arm64
 
 push_nextjs_deno_2_0_0_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:nextjs-deno-2.0.0-amd64 -f Dockerfile.nextjs.deno.2.0.0 .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:nextjs-deno-2.0.0-amd64 -f Dockerfile.nextjs.deno.2.0.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:nextjs-deno-2.0.0-amd64
 
 push_nextjs_deno_2_0_0: push_nextjs_deno_2_0_0_arm64 push_nextjs_deno_2_0_0_amd64
@@ -120,17 +121,16 @@
 # Nextjs
 
 push_nodejs_23_1_0_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:nodejs-23.1.0-arm64 -f Dockerfile.nodejs.23.1.0 .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:nodejs-23.1.0-arm64 -f Dockerfile.nodejs.23.1.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:nodejs-23.1.0-arm64
 
 push_nodejs_23_1_0_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:nodejs-23.1.0-amd64 -f Dockerfile.nodejs.23.1.0 .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:nodejs-23.1.0-amd64 -f Dockerfile.nodejs.23.1.0 $(docker_flags) .
 	$(podman) push $(repo_name)/app-runner:nodejs-23.1.0-amd64
 
 push_nodejs_23_1_0: push_nodejs_23_1_0_arm64 push_nodejs_23_1_0_amd64
 	$(podman) manifest create $(repo_name)/app-runner:nodejs-23.1.0 $(repo_name)/app-runner:nodejs-23.1.0-arm64 $(repo_name)/app-runner:nodejs-23.1.0-amd64
-	$(podman) manifest push $(repo_name)/app-runner:nodejs-23.1.0 $(manifest_dest_nodejs_23_1_0)
-	$(podman) manifest rm $(repo_name)/app-runner:nodejs-23.1.0
+	$(podman) manifest push --purge $(repo_name)/app-runner:nodejs-23.1.0 $(manifest_dest_nodejs_23_1_0)
 
 # all
 push: push_golang_1_22_0 push_golang_1_20_0 push_hugo push_php_8_2_apache push_nextjs_deno_2_0_0 push_nodejs_23_1_0
diff --git a/apps/capture-config/Makefile b/apps/capture-config/Makefile
index 1a65580..b9e7776 100644
--- a/apps/capture-config/Makefile
+++ b/apps/capture-config/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)/capture-config:latest
 endif
@@ -22,14 +23,13 @@
 	go build -o capture-config_amd64 *.go
 
 push_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/capture-config:arm64 .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/capture-config:arm64 $(docker_flags) .
 	$(podman) push $(repo_name)/capture-config:arm64
 
 push_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/capture-config:amd64 .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/capture-config:amd64 $(docker_flags) .
 	$(podman) push $(repo_name)/capture-config:amd64
 
 push: push_arm64 push_amd64
 	$(podman) manifest create $(repo_name)/capture-config:latest $(repo_name)/capture-config:arm64 $(repo_name)/capture-config:amd64
-	$(podman) manifest push $(repo_name)/capture-config:latest $(manifest_dest)
-	$(podman) manifest rm $(repo_name)/capture-config:latest
+	$(podman) manifest push --purge $(repo_name)/capture-config:latest $(manifest_dest)
diff --git a/apps/rpuppy/Makefile b/apps/rpuppy/Makefile
index a85dbda..97c7944 100644
--- a/apps/rpuppy/Makefile
+++ b/apps/rpuppy/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)/rpuppy:latest
 endif
@@ -22,14 +23,13 @@
 	go build -o rpuppy_amd64 *.go
 
 push_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/rpuppy:arm64 .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/rpuppy:arm64 $(docker_flags) .
 	$(podman) push $(repo_name)/rpuppy:arm64
 
 push_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/rpuppy:amd64 .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/rpuppy:amd64 $(docker_flags) .
 	$(podman) push $(repo_name)/rpuppy:amd64
 
 push: push_arm64 push_amd64
 	$(podman) manifest create $(repo_name)/rpuppy:latest $(repo_name)/rpuppy:arm64 $(repo_name)/rpuppy:amd64
-	$(podman) manifest push $(repo_name)/rpuppy:latest $(manifest_dest)
-	$(podman) manifest rm $(repo_name)/rpuppy:latest
+	$(podman) manifest push --purge $(repo_name)/rpuppy:latest $(manifest_dest)
diff --git a/apps/url-shortener/Makefile b/apps/url-shortener/Makefile
index 9fbc4c4..2dd8864 100644
--- a/apps/url-shortener/Makefile
+++ b/apps/url-shortener/Makefile
@@ -1,6 +1,6 @@
 repo_name ?= giolekva
-podman ?= podman
-manifest_dest =
+podman ?= docker
+docker_flags=--provenance=false --sbom=false
 ifeq ($(podman), podman)
 manifest_dest=docker://docker.io/$(repo_name)/url-shortener:latest
 endif
@@ -24,14 +24,13 @@
 	/usr/local/go/bin/go build -o url-shortener_amd64 *.go
 
 push_arm64: clean build_arm64
-	$(podman) build --platform linux/arm64 --tag=$(repo_name)/url-shortener:arm64 .
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/url-shortener:arm64 $(docker_flags) .
 	$(podman) push $(repo_name)/url-shortener:arm64
 
 push_amd64: clean build_amd64
-	$(podman) build --platform linux/amd64 --tag=$(repo_name)/url-shortener:amd64 .
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/url-shortener:amd64 $(docker_flags) .
 	$(podman) push $(repo_name)/url-shortener:amd64
 
 push: push_arm64 push_amd64
 	$(podman) manifest create $(repo_name)/url-shortener:latest $(repo_name)/url-shortener:arm64 $(repo_name)/url-shortener:amd64
-	$(podman) manifest push $(repo_name)/url-shortener:latest $(manifest_dest)
-	$(podman) manifest rm $(repo_name)/url-shortener:latest
+	$(podman) manifest push --purge $(repo_name)/url-shortener:latest $(manifest_dest)
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 (