blob: 1655ac09a3f09d26face86999519eddbbbc616ef [file] [log] [blame]
giofc441e32024-11-11 16:26:14 +04001repo_name ?= giolekva
DTabidze52593392024-03-08 12:53:20 +04002podman ?= docker
gio2446de02025-04-11 11:20:39 +04003docker_flags=--provenance=false --sbom=false
Giorgi Lekveishvili0c6b3242024-03-14 15:31:08 +04004ifeq ($(podman), podman)
5manifest_dest=docker://docker.io/$(repo_name)/pcloud-installer:latest
6endif
DTabidze52593392024-03-08 12:53:20 +04007
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +04008clean:
9 rm -rf tmp
10 rm -f server_*
11 rm -f pcloud
giolekva716efb92022-05-07 23:08:58 +040012
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040013push_fluxcd_arm64:
DTabidze52593392024-03-08 12:53:20 +040014 $(podman) build --file=Dockerfile.flux --tag=$(repo_name)/flux:latest . --platform=linux/arm64
15 docker push $(repo_name)/flux:latest
giolekva9eacb1a2022-05-21 13:57:19 +040016
giob1d3bd72025-05-15 07:20:06 +040017format:
18 go run cuelang.org/go/cmd/cue fmt app_configs/*.cue
19
Giorgi Lekveishvilia1e77902023-11-06 14:48:27 +040020build: export CGO_ENABLED=0
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040021build: clean
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040022 /usr/local/go/bin/go build -o pcloud cmd/*.go
23
24test: export CGO_ENABLED=0
25test:
Giorgi Lekveishvili186eae52024-02-15 14:21:41 +040026 /usr/local/go/bin/go test ./...
giolekva9eacb1a2022-05-21 13:57:19 +040027
Giorgi Lekveishviliee15ee22024-03-28 12:35:10 +040028test: export CGO_ENABLED=0
29testv:
30 /usr/local/go/bin/go test -v ./...
31
giolekva9eacb1a2022-05-21 13:57:19 +040032bootstrap:
gio3cdee592024-04-17 10:15:56 +040033 ./pcloud --kubeconfig=../../priv/kubeconfig-hetzner bootstrap --env-name=dodo --charts-dir=../../charts --admin-pub-key=/Users/lekva/.ssh/id_rsa.pub --from-ip=192.168.100.210 --to-ip=192.168.100.240 --storage-dir=/pcloud-storage/longhorn --public-ip=135.181.48.180,65.108.39.172
giolekva8aa73e82022-07-09 11:34:39 +040034
35create_env:
Giorgi Lekveishvili7fb28bf2023-06-24 19:51:16 +040036 ./pcloud --kubeconfig=../../priv/kubeconfig create-env --admin-priv-key=/Users/lekva/.ssh/id_rsa --name=lekva --ip=192.168.0.211 --admin-username=gio
giolekva8aa73e82022-07-09 11:34:39 +040037
Giorgi Lekveishvili7efe22f2023-05-30 13:01:53 +040038appmanager:
gio36b23b32024-08-25 12:20:54 +040039 ./pcloud --kubeconfig=../../priv/kubeconfig-hetzner appmanager --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://10.43.196.174/config --port=9090 --headscale-api-addr=http://10.43.193.154 # --app-repo-addr=http://localhost:8080
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040040
gio0eaf2712024-04-14 13:08:46 +040041dodo-app:
giof8843412024-05-22 16:38:05 +040042 ./pcloud --kubeconfig=../../priv/kubeconfig-hetzner dodo-app --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://10.43.196.174/test
gio0eaf2712024-04-14 13:08:46 +040043
Giorgi Lekveishvili12850ee2023-06-22 13:11:17 +040044welc:
Davit Tabidzefdf3b9b2024-07-30 21:01:08 +040045 ./pcloud --kubeconfig=../../priv/kubeconfig-hetzner welcome --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://10.43.196.174/config --port=9090
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040046
47env:
48 ./pcloud --kubeconfig=../../priv/kubeconfig-hetzner envmanager --ssh-key=/Users/lekva/.ssh/id_rsa --repo-addr=192.168.100.210:22 --repo-name=config --port=9090
Giorgi Lekveishvili12850ee2023-06-22 13:11:17 +040049
gio308105e2024-04-19 13:12:13 +040050rewrite:
giof8843412024-05-22 16:38:05 +040051 ./pcloud rewrite --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://10.43.196.174/config
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040052
Davit Tabidze207ce082024-04-09 19:15:25 +040053launcher:
giof8843412024-05-22 16:38:05 +040054 ./pcloud launcher --port=9090 --logout-url=http://localhost:8080 --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://10.43.196.174/config
Davit Tabidze207ce082024-04-09 19:15:25 +040055
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040056## installer image
57build_arm64: export CGO_ENABLED=0
58build_arm64: export GO111MODULE=on
59build_arm64: export GOOS=linux
60build_arm64: export GOARCH=arm64
61build_arm64:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040062 /usr/local/go/bin/go build -o server_arm64 cmd/*.go
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040063
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040064build_amd64: export CGO_ENABLED=0
65build_amd64: export GO111MODULE=on
66build_amd64: export GOOS=linux
67build_amd64: export GOARCH=amd64
68build_amd64:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040069 /usr/local/go/bin/go build -o server_amd64 cmd/*.go
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040070
71push_arm64: clean build_arm64
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040072 mkdir tmp
73 cp -r ../../charts tmp/
gio2446de02025-04-11 11:20:39 +040074 $(podman) build --platform linux/arm64 --tag=$(repo_name)/pcloud-installer:arm64 $(docker_flags) .
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040075 rm -rf tmp
DTabidze52593392024-03-08 12:53:20 +040076 $(podman) push $(repo_name)/pcloud-installer:arm64
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040077
78push_amd64: clean build_amd64
79 mkdir tmp
80 cp -r ../../charts tmp/
gio2446de02025-04-11 11:20:39 +040081 $(podman) build --platform linux/amd64 --tag=$(repo_name)/pcloud-installer:amd64 $(docker_flags) .
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040082 rm -rf tmp
DTabidze52593392024-03-08 12:53:20 +040083 $(podman) push $(repo_name)/pcloud-installer:amd64
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040084
85push: push_arm64 push_amd64
DTabidze52593392024-03-08 12:53:20 +040086 $(podman) manifest create $(repo_name)/pcloud-installer:latest $(repo_name)/pcloud-installer:arm64 $(repo_name)/pcloud-installer:amd64
gio2446de02025-04-11 11:20:39 +040087 $(podman) manifest push --purge $(repo_name)/pcloud-installer:latest $(manifest_dest)