| gio | 43b0f42 | 2024-08-21 10:40:13 +0400 | [diff] [blame] | 1 | repo_name ?= giolekva |
| 2 | podman ?= docker |
| gio | 2446de0 | 2025-04-11 11:20:39 +0400 | [diff] [blame] | 3 | docker_flags=--provenance=false --sbom=false |
| gio | 43b0f42 | 2024-08-21 10:40:13 +0400 | [diff] [blame] | 4 | ifeq ($($(podman)), $(podman)) |
| 5 | manifest_dest=docker://docker.io/$(repo_name)/fluxcd-reconciler:latest |
| 6 | endif |
| 7 | |
| Giorgi Lekveishvili | 2df23db | 2023-12-14 07:55:22 +0400 | [diff] [blame] | 8 | clean: |
| 9 | rm -rf tmp |
| 10 | rm -f fluxcd_reconciler fluxcd_reconciler_* |
| 11 | |
| 12 | build: export CGO_ENABLED=0 |
| 13 | build: clean |
| 14 | /usr/local/go/bin/go build -o fluxcd_reconciler main.go |
| 15 | |
| 16 | run: build |
| 17 | ./fluxcd_reconciler --port=8080 --kubeconfig=/Users/lekva/dev/src/pcloud/priv/kubeconfig-hetzner |
| 18 | |
| 19 | ## installer image |
| 20 | build_arm64: export CGO_ENABLED=0 |
| 21 | build_arm64: export GO111MODULE=on |
| 22 | build_arm64: export GOOS=linux |
| 23 | build_arm64: export GOARCH=arm64 |
| 24 | build_arm64: |
| 25 | /usr/local/go/bin/go build -o fluxcd_reconciler_arm64 main.go |
| 26 | |
| 27 | build_amd64: export CGO_ENABLED=0 |
| 28 | build_amd64: export GO111MODULE=on |
| 29 | build_amd64: export GOOS=linux |
| 30 | build_amd64: export GOARCH=amd64 |
| 31 | build_amd64: |
| 32 | /usr/local/go/bin/go build -o fluxcd_reconciler_amd64 main.go |
| 33 | |
| 34 | push_arm64: clean build_arm64 |
| 35 | mkdir tmp |
| 36 | cp -r ../../charts tmp/ |
| gio | 2446de0 | 2025-04-11 11:20:39 +0400 | [diff] [blame] | 37 | $(podman) build --platform linux/arm64 --tag=$(repo_name)/fluxcd-reconciler:arm64 $(docker_flags) . |
| Giorgi Lekveishvili | 2df23db | 2023-12-14 07:55:22 +0400 | [diff] [blame] | 38 | rm -rf tmp |
| gio | 43b0f42 | 2024-08-21 10:40:13 +0400 | [diff] [blame] | 39 | $(podman) push $(repo_name)/fluxcd-reconciler:arm64 |
| Giorgi Lekveishvili | 2df23db | 2023-12-14 07:55:22 +0400 | [diff] [blame] | 40 | |
| 41 | push_amd64: clean build_amd64 |
| 42 | mkdir tmp |
| 43 | cp -r ../../charts tmp/ |
| gio | 2446de0 | 2025-04-11 11:20:39 +0400 | [diff] [blame] | 44 | $(podman) build --platform linux/amd64 --tag=$(repo_name)/fluxcd-reconciler:amd64 $(docker_flags) . |
| Giorgi Lekveishvili | 2df23db | 2023-12-14 07:55:22 +0400 | [diff] [blame] | 45 | rm -rf tmp |
| gio | 43b0f42 | 2024-08-21 10:40:13 +0400 | [diff] [blame] | 46 | $(podman) push $(repo_name)/fluxcd-reconciler:amd64 |
| Giorgi Lekveishvili | 2df23db | 2023-12-14 07:55:22 +0400 | [diff] [blame] | 47 | |
| 48 | push: push_arm64 push_amd64 |
| gio | 43b0f42 | 2024-08-21 10:40:13 +0400 | [diff] [blame] | 49 | $(podman) manifest create $(repo_name)/fluxcd-reconciler:latest $(repo_name)/fluxcd-reconciler:arm64 $(repo_name)/fluxcd-reconciler:amd64 |
| gio | 2446de0 | 2025-04-11 11:20:39 +0400 | [diff] [blame] | 50 | $(podman) manifest push --purge $(repo_name)/fluxcd-reconciler:latest $(manifest_dest) |