rpuppy: multiarch docker image
diff --git a/.gitignore b/.gitignore
index 20a57a1..671d18e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,7 +12,5 @@
secrets.*.dec
target
main
-server_arm64
-server_amd64
-manager_arm64
-manager_amd64
+*_arm64
+*_amd64
diff --git a/apps/rpuppy/Dockerfile b/apps/rpuppy/Dockerfile
index 1c0d1c6..5b5f85e 100644
--- a/apps/rpuppy/Dockerfile
+++ b/apps/rpuppy/Dockerfile
@@ -1,4 +1,6 @@
FROM alpine:latest
-COPY rpuppy /usr/bin
+ARG TARGETARCH
+
+COPY rpuppy_${TARGETARCH} /usr/bin/rpuppy
RUN chmod +x /usr/bin/rpuppy
diff --git a/apps/rpuppy/Makefile b/apps/rpuppy/Makefile
index 234095d..444930b 100644
--- a/apps/rpuppy/Makefile
+++ b/apps/rpuppy/Makefile
@@ -1,18 +1,29 @@
-build:
- go1.16 build -o rpuppy *.go
-
clean:
rm -f rpuppy
-image: clean build
- docker build --tag=giolekva/rpuppy-arm .
+build_arm64: export CGO_ENABLED=0
+build_arm64: export GO111MODULE=on
+build_arm64: export GOOS=linux
+build_arm64: export GOARCH=arm64
+build_arm64:
+ go build -o rpuppy_arm64 *.go
-push: image
- docker push giolekva/rpuppy-arm:latest
+build_amd64: export CGO_ENABLED=0
+build_amd64: export GO111MODULE=on
+build_amd64: export GOOS=linux
+build_amd64: export GOARCH=amd64
+build_amd64:
+ go build -o rpuppy_amd64 *.go
+push_arm64: clean build_arm64
+ podman build --platform linux/arm64 --tag=giolekva/rpuppy:arm64 .
+ podman push giolekva/rpuppy:arm64
-push_arm64: export GOOS=linux
-push_arm64: export GOARCH=arm64
-push_arm64: export CGO_ENABLED=0
-push_arm64: export GO111MODULE=on
-push_arm64: push
+push_amd64: clean build_amd64
+ podman build --platform linux/amd64 --tag=giolekva/rpuppy:amd64 .
+ podman push giolekva/rpuppy:amd64
+
+push: push_arm64 push_amd64
+ podman manifest create giolekva/rpuppy:latest giolekva/rpuppy:arm64 giolekva/rpuppy:amd64
+ podman manifest push giolekva/rpuppy:latest docker://docker.io/giolekva/rpuppy:latest
+ podman manifest rm giolekva/rpuppy:latest
diff --git a/charts/rpuppy/values.yaml b/charts/rpuppy/values.yaml
index b222fba..c53fccb 100644
--- a/charts/rpuppy/values.yaml
+++ b/charts/rpuppy/values.yaml
@@ -1,5 +1,5 @@
image:
- repository: giolekva/rpuppy-arm
+ repository: giolekva/rpuppy
tag: latest
pullPolicy: Always
ingressClassName: ingress-public