Dodo APP: infrastructure to deploy app by pusing to Git repo

Change-Id: I4034c6893255581b014ddb207c844261cb34202b
diff --git a/apps/app-runner/Makefile b/apps/app-runner/Makefile
new file mode 100644
index 0000000..4c2424e
--- /dev/null
+++ b/apps/app-runner/Makefile
@@ -0,0 +1,35 @@
+repo_name ?= giolekva
+podman ?= docker
+ifeq ($(podman), podman)
+manifest_dest=docker://docker.io/$(repo_name)/app-runner:golang-1.22.0
+endif
+
+clean:
+	rm -f app-runner
+
+build_arm64: export CGO_ENABLED=0
+build_arm64: export GO111MODULE=on
+build_arm64: export GOOS=linux
+build_arm64: export GOARCH=arm64
+build_arm64:
+	/usr/local/go/bin/go build -o app-runner_arm64 *.go
+
+build_amd64: export CGO_ENABLED=0
+build_amd64: export GO111MODULE=on
+build_amd64: export GOOS=linux
+build_amd64: export GOARCH=amd64
+build_amd64:
+	/usr/local/go/bin/go build -o app-runner_amd64 *.go
+
+push_arm64: clean build_arm64
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:golang-1.22.0-arm64 .
+	$(podman) push $(repo_name)/app-runner:golang-1.22.0-arm64
+
+push_amd64: clean build_amd64
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:golang-1.22.0-amd64 .
+	$(podman) push $(repo_name)/app-runner:golang-1.22.0-amd64
+
+push: push_arm64 push_amd64
+	$(podman) manifest create $(repo_name)/app-runner:golang-1.22.0 $(repo_name)/app-runner:golang-1.22.0-arm64 $(repo_name)/app-runner:golang-1.22.0-amd64
+	$(podman) manifest push $(repo_name)/app-runner:golang-1.22.0 $(manifest_dest)
+	$(podman) manifest rm $(repo_name)/app-runner:golang-1.22.0