-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
60 lines (48 loc) · 1.58 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
PROCESS=persistencecore
CLUSTER=local
SHELL := /bin/bash
###############################################################################
### Local Setup ###
###############################################################################
install-kind:
ifeq ($(shell uname -s), Linux)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.15.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
else
brew install kind
endif
kind_check := $(shell command -v kind 2> /dev/null)
setup-kind:
ifndef kind_check
echo "No kind in $(PATH), installing kind..."
$(MAKE) install-kind
endif
echo "kind already insteall.. setting up kind cluster"
kind create cluster
install-kubectl:
ifeq ($(shell uname -s), Linux)
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
else
brew install kubectl
endif
kubectl_check := $(shell command -v kubectl 2> /dev/null)
setup-kubectl:
ifndef kubectl_check
$(MAKE) install-kubectl
endif
echo "kubectl already installed"
setup: setup-kubectl setup-kind
clean-kind:
kind delete cluster
clean: clean-kind
-@rm ./kind ./kubectl 2> /dev/null
###############################################################################
### K8s commands ###
###############################################################################
apply:
kubectl apply -k $(CLUSTER)/$(PROCESS)
delete:
kubectl delete -k $(CLUSTER)/$(PROCESS)