-
Notifications
You must be signed in to change notification settings - Fork 21
/
Makefile
156 lines (124 loc) · 3.9 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
.PHONY:
clean \
create-statefulset \
delete-deployment \
install \
install-prometheus
# Deploys the partner and test pods and the operator. GNU sed is required.
# MacOS has FreeBSD sed by default, which fails on --version.
install:
sed --version >/dev/null 2>&1 || { printf >&2 'Install GNU sed.\n'; exit 1; }
./scripts/fix-node-labels.sh
./scripts/deploy-multus-network.sh
./scripts/deploy-resource-quota.sh
./scripts/deploy-storage.sh
./scripts/deploy-test-pods.sh
./scripts/deploy-statefulset-test-pods.sh
./scripts/deploy-pod-disruption-budget.sh
./scripts/deploy-special-resources.sh
./scripts/deploy-test-crds.sh
./scripts/install-olm.sh
./scripts/deploy-community-operator.sh
./scripts/manage-service.sh deploy
./scripts/deploy-network-policies.sh
./scripts/delete-standard-storageclass.sh
./scripts/deploy-cr-scale-operator.sh
./scripts/deploy-custom-catalogsource.sh
# Creates an install path specifically for the Kind QE clusters to use
install-for-qe:
sed --version >/dev/null 2>&1 || { printf >&2 'Install GNU sed.\n'; exit 1; }
./scripts/fix-node-labels.sh
./scripts/deploy-multus-network.sh
./scripts/install-olm.sh
./scripts/delete-standard-storageclass.sh
./scripts/deploy-cr-scale-operator.sh
# Bootstrap Docker (Fedora)
bootstrap-docker-fedora-local:
cd config/vagrant/scripts && ./bootstrap-docker-fedora.sh
# Bootstrap Docker (Ubuntu)
bootstrap-docker-ubuntu-local:
cd config/vagrant/scripts && ./bootstrap-docker-ubuntu.sh
# Bootstrap Python (Ubuntu)
bootstrap-python-ubuntu-local:
cd config/vagrant/scripts && ./bootstrap-python-ubuntu.sh
# Bootstrap Python (Fedora)
bootstrap-python-fedora-local:
cd config/vagrant/scripts && ./bootstrap-python-fedora.sh
# Bootstrap Golang (Fedora)
bootstrap-golang-fedora-local:
cd config/vagrant/scripts && ./bootstrap-golang-fedora.sh
# Bootstrap Kubernetes/Kind
bootstrap-cluster:
cd config/vagrant/scripts && ./bootstrap-cluster.sh
# Creates a k8s cluster instance
rebuild-cluster: delete-cluster
./scripts/deploy-k8s-cluster.sh
./scripts/preload-images.sh
./scripts/deploy-calico.sh
./scripts/delete-standard-storageclass.sh
./scripts/remove-control-plane-taint.sh
delete-cluster:
./scripts/delete-k8s-cluster.sh
# Launches Vagrant env.
vagrant-build:
mkdir -p config/vagrant/kubeconfig
vagrant plugin install vagrant-reload
cd config/vagrant && vagrant up && cd -
cp config/vagrant/kubeconfig/config ~/.kube/config
# Destroys Vagrant env
vagrant-destroy:
cd config/vagrant && vagrant destroy
# Suspends the vagrant vm
vagrant-suspend:
cd config/vagrant && vagrant suspend
# Resumes the vagrant vm
vagrant-resume:
cd config/vagrant && vagrant resume
# Updates the vagrant vm
vagrant-update:
cd config/vagrant && vagrant box update
# One command to recreate the environment
vagrant-recreate:
cd config/vagrant && vagrant destroy -f
make vagrant-build
# Installs operator requires OLM and operator SDK
install-operator:
./scripts/deploy-operator.sh
install-community-operator:
./scripts/deploy-community-operator.sh
delete-community-operator:
./scripts/delete-community-operator.sh
# Installs test CRDs
install-crds:
./scripts/deploy-test-crds.sh
install-prometheus:
./scripts/install-prometheus-operator.sh
delete-prometheus:
./scripts/delete-prometheus-operator.sh
install-istio:
./scripts/install-istio.sh
delete-istio:
./scripts/delete-istio.sh
# Deletes deployment pods
delete-deployment:
./scripts/delete-test-pods.sh
# Creates statefulset pods
create-statefulset:
./scripts/deploy-statefulset-test-pods.sh
# Deletes the namespace completely
clean-all:
./scripts/clean-all.sh
# Deletes, the partner and test pods and the operator
# pre-existing objects are preserved
clean:
./scripts/clean.sh
# Deploys services
deploy-services:
./scripts/manage-service.sh deploy
# Deletes services
delete-services:
./scripts/manage-service.sh delete
deploy-cr-scale-operator:
./scripts/deploy-cr-scale-operator.sh
lint:
shellcheck scripts/*.sh