blob: 89a5715fba0512b01c23db335e19414f90418953 [file] [log] [blame]
DTabidze52593392024-03-08 12:53:20 +04001repo_name ?= dtabidze
2podman ?= 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 Lekveishvili23ef7f82023-05-26 11:57:48 +040034rpuppy:
Giorgi Lekveishvili7fb28bf2023-06-24 19:51:16 +040035 ./pcloud --kubeconfig=../../priv/kubeconfig install --ssh-key=/Users/lekva/.ssh/id_rsa --app=rpuppy --repo-addr=ssh://localhost:2222/lekva
Giorgi Lekveishvili7efe22f2023-05-30 13:01:53 +040036
37appmanager:
gio1de49582024-04-21 08:33:57 +040038 ./pcloud --kubeconfig=../../priv/kubeconfig-hetzner appmanager --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://localhost:2222/config --port=9090 # --app-repo-addr=http://localhost:8080
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040039
Giorgi Lekveishvili12850ee2023-06-22 13:11:17 +040040welc:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040041 ./pcloud --kubeconfig=../../priv/kubeconfig welcome --ssh-key=/Users/lekva/.ssh/id_rsa --repo-addr=ssh://192.168.0.210/config --port=9090
42
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:
47 ./pcloud rewrite --ssh-key=/Users/lekva/.ssh/id_ed25519 --repo-addr=ssh://localhost:2222/config
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040048
49## installer image
50build_arm64: export CGO_ENABLED=0
51build_arm64: export GO111MODULE=on
52build_arm64: export GOOS=linux
53build_arm64: export GOARCH=arm64
54build_arm64:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040055 /usr/local/go/bin/go build -o server_arm64 cmd/*.go
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040056
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040057build_amd64: export CGO_ENABLED=0
58build_amd64: export GO111MODULE=on
59build_amd64: export GOOS=linux
60build_amd64: export GOARCH=amd64
61build_amd64:
Giorgi Lekveishvili46743d42023-12-10 15:47:23 +040062 /usr/local/go/bin/go build -o server_amd64 cmd/*.go
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040063
64push_arm64: clean build_arm64
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040065 mkdir tmp
66 cp -r ../../charts tmp/
DTabidze52593392024-03-08 12:53:20 +040067 $(podman) build --platform linux/arm64 --tag=$(repo_name)/pcloud-installer:arm64 .
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040068 rm -rf tmp
DTabidze52593392024-03-08 12:53:20 +040069 $(podman) push $(repo_name)/pcloud-installer:arm64
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040070
71push_amd64: clean build_amd64
72 mkdir tmp
73 cp -r ../../charts tmp/
DTabidze52593392024-03-08 12:53:20 +040074 $(podman) build --platform linux/amd64 --tag=$(repo_name)/pcloud-installer:amd64 .
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040075 rm -rf tmp
DTabidze52593392024-03-08 12:53:20 +040076 $(podman) push $(repo_name)/pcloud-installer:amd64
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +040077
78push: push_arm64 push_amd64
DTabidze52593392024-03-08 12:53:20 +040079 $(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 +040080 $(podman) manifest push $(repo_name)/pcloud-installer:latest $(manifest_dest)
DTabidze52593392024-03-08 12:53:20 +040081 $(podman) manifest rm $(repo_name)/pcloud-installer:latest