blob: fe6169448027697aa7d3499a3e9f250031cf454c [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
Giorgi Lekveishvilia1e77902023-11-06 14:48:27 +040017build: export CGO_ENABLED=0
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040018build: clean
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040019 /usr/local/go/bin/go build -o pcloud cmd/*.go
20
21test: export CGO_ENABLED=0
22test:
Giorgi Lekveishvili186eae52024-02-15 14:21:41 +040023 /usr/local/go/bin/go test ./...
giolekva9eacb1a2022-05-21 13:57:19 +040024
Giorgi Lekveishviliee15ee22024-03-28 12:35:10 +040025test: export CGO_ENABLED=0
26testv:
27 /usr/local/go/bin/go test -v ./...
28
giolekva9eacb1a2022-05-21 13:57:19 +040029bootstrap:
gio3cdee592024-04-17 10:15:56 +040030 ./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 +040031
32create_env:
Giorgi Lekveishvili7fb28bf2023-06-24 19:51:16 +040033 ./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 +040034
Giorgi Lekveishvili7efe22f2023-05-30 13:01:53 +040035appmanager:
gio36b23b32024-08-25 12:20:54 +040036 ./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 +040037
gio0eaf2712024-04-14 13:08:46 +040038dodo-app:
giof8843412024-05-22 16:38:05 +040039 ./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 +040040
Giorgi Lekveishvili12850ee2023-06-22 13:11:17 +040041welc:
Davit Tabidzefdf3b9b2024-07-30 21:01:08 +040042 ./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 +040043
44env:
45 ./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 +040046
gio308105e2024-04-19 13:12:13 +040047rewrite:
giof8843412024-05-22 16:38:05 +040048 ./pcloud rewrite --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://10.43.196.174/config
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040049
Davit Tabidze207ce082024-04-09 19:15:25 +040050launcher:
giof8843412024-05-22 16:38:05 +040051 ./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 +040052
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040053## installer image
54build_arm64: export CGO_ENABLED=0
55build_arm64: export GO111MODULE=on
56build_arm64: export GOOS=linux
57build_arm64: export GOARCH=arm64
58build_arm64:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040059 /usr/local/go/bin/go build -o server_arm64 cmd/*.go
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040060
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040061build_amd64: export CGO_ENABLED=0
62build_amd64: export GO111MODULE=on
63build_amd64: export GOOS=linux
64build_amd64: export GOARCH=amd64
65build_amd64:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040066 /usr/local/go/bin/go build -o server_amd64 cmd/*.go
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040067
68push_arm64: clean build_arm64
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040069 mkdir tmp
70 cp -r ../../charts tmp/
gio2446de02025-04-11 11:20:39 +040071 $(podman) build --platform linux/arm64 --tag=$(repo_name)/pcloud-installer:arm64 $(docker_flags) .
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040072 rm -rf tmp
DTabidze52593392024-03-08 12:53:20 +040073 $(podman) push $(repo_name)/pcloud-installer:arm64
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040074
75push_amd64: clean build_amd64
76 mkdir tmp
77 cp -r ../../charts tmp/
gio2446de02025-04-11 11:20:39 +040078 $(podman) build --platform linux/amd64 --tag=$(repo_name)/pcloud-installer:amd64 $(docker_flags) .
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040079 rm -rf tmp
DTabidze52593392024-03-08 12:53:20 +040080 $(podman) push $(repo_name)/pcloud-installer:amd64
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040081
82push: push_arm64 push_amd64
DTabidze52593392024-03-08 12:53:20 +040083 $(podman) manifest create $(repo_name)/pcloud-installer:latest $(repo_name)/pcloud-installer:arm64 $(repo_name)/pcloud-installer:amd64
gio2446de02025-04-11 11:20:39 +040084 $(podman) manifest push --purge $(repo_name)/pcloud-installer:latest $(manifest_dest)