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)