AppManager: Add API endpoint to install dodo app

Refactors cue definitions.

Next steps:
* Needs some cleanup, namespace is hard coded ...
* Maybe merge with regular install API
* Support exposing ports across clusters

Change-Id: Ibfc3c3f742b61f2c5874012fe6c77b958eae81d9
diff --git a/apps/app-runner/Makefile b/apps/app-runner/Makefile
index 9c76326..8f11f8b 100644
--- a/apps/app-runner/Makefile
+++ b/apps/app-runner/Makefile
@@ -1,6 +1,7 @@
 repo_name ?= giolekva
 podman ?= docker
 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
 manifest_dest_golang_1_20_0=docker://docker.io/$(repo_name)/app-runner:golang-1.20.0
 manifest_dest_hugo_latest=docker://docker.io/$(repo_name)/app-runner:hugo-latest
@@ -26,6 +27,21 @@
 build_amd64:
 	/usr/local/go/bin/go build -o app-runner_amd64 *.go
 
+# 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) 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) 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
+	$(podman) manifest create $(repo_name)/app-runner:golang-1.24.0 $(repo_name)/app-runner:golang-1.24.0-arm64 $(repo_name)/app-runner:golang-1.24.0-amd64
+	$(podman) manifest push $(repo_name)/app-runner:golang-1.24.0 $(manifest_dest_golang_1_24_0)
+	$(podman) manifest rm $(repo_name)/app-runner:golang-1.24.0
+
 # Golang 1.22.0
 
 push_golang_1_22_0_arm64: clean build_arm64