blob: 0fc236c1a0244f9a5cbabc40a8b378e4593db07f [file] [log] [blame]
giofc441e32024-11-11 16:26:14 +04001repo_name ?= giolekva
DTabidze52593392024-03-08 12:53:20 +04002podman ?= docker
Giorgi Lekveishvili0c6b3242024-03-14 15:31:08 +04003ifeq ($(podman), podman)
4manifest_dest=docker://docker.io/$(repo_name)/pcloud-installer:latest
5endif
DTabidze52593392024-03-08 12:53:20 +04006
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +04007clean:
8 rm -rf tmp
9 rm -f server_*
10 rm -f pcloud
giolekva716efb92022-05-07 23:08:58 +040011
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040012push_fluxcd_arm64:
DTabidze52593392024-03-08 12:53:20 +040013 $(podman) build --file=Dockerfile.flux --tag=$(repo_name)/flux:latest . --platform=linux/arm64
14 docker push $(repo_name)/flux:latest
giolekva9eacb1a2022-05-21 13:57:19 +040015
Giorgi Lekveishvilia1e77902023-11-06 14:48:27 +040016build: export CGO_ENABLED=0
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040017build: clean
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040018 /usr/local/go/bin/go build -o pcloud cmd/*.go
19
20test: export CGO_ENABLED=0
21test:
Giorgi Lekveishvili186eae52024-02-15 14:21:41 +040022 /usr/local/go/bin/go test ./...
giolekva9eacb1a2022-05-21 13:57:19 +040023
Giorgi Lekveishviliee15ee22024-03-28 12:35:10 +040024test: export CGO_ENABLED=0
25testv:
26 /usr/local/go/bin/go test -v ./...
27
giolekva9eacb1a2022-05-21 13:57:19 +040028bootstrap:
gio3cdee592024-04-17 10:15:56 +040029 ./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 +040030
31create_env:
Giorgi Lekveishvili7fb28bf2023-06-24 19:51:16 +040032 ./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 +040033
Giorgi Lekveishvili7efe22f2023-05-30 13:01:53 +040034appmanager:
gio36b23b32024-08-25 12:20:54 +040035 ./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 +040036
gio0eaf2712024-04-14 13:08:46 +040037dodo-app:
giof8843412024-05-22 16:38:05 +040038 ./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 +040039
Giorgi Lekveishvili12850ee2023-06-22 13:11:17 +040040welc:
Davit Tabidzefdf3b9b2024-07-30 21:01:08 +040041 ./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 +040042
43env:
44 ./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 +040045
gio308105e2024-04-19 13:12:13 +040046rewrite:
giof8843412024-05-22 16:38:05 +040047 ./pcloud rewrite --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://10.43.196.174/config
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040048
Davit Tabidze207ce082024-04-09 19:15:25 +040049launcher:
giof8843412024-05-22 16:38:05 +040050 ./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 +040051
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040052## installer image
53build_arm64: export CGO_ENABLED=0
54build_arm64: export GO111MODULE=on
55build_arm64: export GOOS=linux
56build_arm64: export GOARCH=arm64
57build_arm64:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040058 /usr/local/go/bin/go build -o server_arm64 cmd/*.go
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040059
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040060build_amd64: export CGO_ENABLED=0
61build_amd64: export GO111MODULE=on
62build_amd64: export GOOS=linux
63build_amd64: export GOARCH=amd64
64build_amd64:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040065 /usr/local/go/bin/go build -o server_amd64 cmd/*.go
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040066
67push_arm64: clean build_arm64
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040068 mkdir tmp
69 cp -r ../../charts tmp/
DTabidze52593392024-03-08 12:53:20 +040070 $(podman) build --platform linux/arm64 --tag=$(repo_name)/pcloud-installer:arm64 .
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040071 rm -rf tmp
DTabidze52593392024-03-08 12:53:20 +040072 $(podman) push $(repo_name)/pcloud-installer:arm64
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040073
74push_amd64: clean build_amd64
75 mkdir tmp
76 cp -r ../../charts tmp/
DTabidze52593392024-03-08 12:53:20 +040077 $(podman) build --platform linux/amd64 --tag=$(repo_name)/pcloud-installer:amd64 .
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040078 rm -rf tmp
DTabidze52593392024-03-08 12:53:20 +040079 $(podman) push $(repo_name)/pcloud-installer:amd64
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040080
81push: push_arm64 push_amd64
DTabidze52593392024-03-08 12:53:20 +040082 $(podman) manifest create $(repo_name)/pcloud-installer:latest $(repo_name)/pcloud-installer:arm64 $(repo_name)/pcloud-installer:amd64
Giorgi Lekveishvili0c6b3242024-03-14 15:31:08 +040083 $(podman) manifest push $(repo_name)/pcloud-installer:latest $(manifest_dest)
DTabidze52593392024-03-08 12:53:20 +040084 $(podman) manifest rm $(repo_name)/pcloud-installer:latest