Merge "Preserve user_config.sh vars in vagrant deploy"
[icn.git] / Makefile
1 SHELL:=/bin/bash
2
3 help:
4         @echo "  Targets:"
5         @echo "  jump_server      -- install jump server into this machine"
6         @echo "  unit             -- run the unit tests"
7         @echo "  verifier         -- run verifier tests for CI & CD logs"
8         @echo "  vm_cluster       -- deploy VM compute cluster"
9         @echo "  pod11_cluster    -- deploy pod11 compute cluster"
10         @echo "  help             -- this help output"
11
12 install: jump_server
13
14 # The jump server
15
16 jump_server: management_cluster \
17         tools \
18         ironic_bridge \
19         controllers
20
21 jump_server_clean: controllers_clean \
22         ironic_bridge_clean \
23         management_cluster_clean
24
25 # The jump server requires a K8s cluster to install into
26
27 management_cluster:
28         source user_config.sh && \
29         ./deploy/kud/kud_bm_launch.sh minimal
30
31 management_cluster_clean:
32         ./deploy/kud/kud_bm_launch.sh reset
33
34 # Tools used during the installation of jump server components
35
36 tools: kustomize \
37         clusterctl \
38         flux_cli \
39         sops \
40         emcoctl
41
42 kustomize:
43         ./deploy/kustomize/kustomize.sh deploy
44
45 clusterctl:
46         ./deploy/clusterctl/clusterctl.sh deploy
47
48 flux_cli:
49         ./deploy/flux-cli/flux-cli.sh deploy
50
51 sops:
52         ./deploy/sops/sops.sh deploy
53
54 emcoctl: golang
55         ./deploy/emcoctl/emcoctl.sh deploy
56
57 golang:
58         ./deploy/golang/golang.sh deploy
59
60 kubectl:
61         ./deploy/kubectl/kubectl.sh deploy
62
63 yq:
64         ./deploy/yq.sh deploy
65
66 # Provisioning network configuration in the jump server
67
68 ironic_bridge:
69         source user_config.sh && env && \
70         ./deploy/ironic/ironic.sh deploy-bridge
71
72 ironic_bridge_clean:
73         ./deploy/ironic/ironic.sh clean-bridge
74
75 # Jump server components
76
77 controllers: ironic \
78         cert_manager \
79         baremetal_operator \
80         cluster_api \
81         flux
82
83 controllers_clean: flux_clean \
84         cluster_api_clean \
85         baremetal_operator_clean \
86         cert_manager_clean \
87         ironic_clean
88
89 baremetal_operator:
90         ./deploy/baremetal-operator/baremetal-operator.sh deploy
91
92 baremetal_operator_clean:
93         ./deploy/baremetal-operator/baremetal-operator.sh clean
94
95 ironic:
96         ./deploy/ironic/ironic.sh deploy
97
98 ironic_clean:
99         ./deploy/ironic/ironic.sh clean
100
101 cert_manager:
102         ./deploy/cert-manager/cert-manager.sh deploy
103
104 cert_manager_clean:
105         ./deploy/cert-manager/cert-manager.sh clean
106
107 cluster_api:
108         ./deploy/cluster-api/cluster-api.sh deploy
109
110 cluster_api_clean:
111         ./deploy/cluster-api/cluster-api.sh clean
112
113 flux:
114         ./deploy/flux/flux.sh deploy
115
116 flux_clean:
117         ./deploy/flux/flux.sh clean
118
119 # Example compute clusters
120
121 pod11_cluster:
122         ./deploy/site/pod11/pod11.sh deploy
123         ./deploy/site/pod11/pod11.sh wait
124         ./deploy/kata/kata.sh test
125         ./deploy/addons/addons.sh test
126
127 pod11_cluster_clean:
128         ./deploy/site/pod11/pod11.sh clean
129         ./deploy/site/pod11/pod11.sh wait-clean
130
131 vm_cluster:
132         ./deploy/site/vm/vm.sh deploy
133         ./deploy/site/vm/vm.sh wait
134         ./deploy/kata/kata.sh test
135         ./deploy/addons/addons.sh test
136
137 vm_cluster_clean:
138         ./deploy/site/vm/vm.sh clean
139         ./deploy/site/vm/vm.sh wait-clean
140
141 # Test targets
142
143 unit: bashate
144
145 bashate:
146         bashate -i E006,E003,E002,E010,E011,E042,E043 `find . -type f -not -path './ci/jjb/shell/*' -not -path './build/*' -name "*.sh"`
147
148 verifier: vm_verifier
149
150 vm_verifier: jump_server \
151         vm_cluster \
152         vm_cluster_clean \
153         jump_server_clean
154
155 bm_verifier: jump_server \
156         pod11_cluster \
157         pod11_cluster_clean \
158         jump_server_clean
159
160 SDWAN_VERIFIER_PATH:=$(CURDIR)/sdwan/test
161 sdwan_verifier:
162         pushd $(SDWAN_VERIFIER_PATH) && bash sdwan_verifier.sh && popd
163
164 # Development targets
165 source: flux_cli kubectl kustomize yq
166         ./deploy/baremetal-operator/baremetal-operator.sh build-source
167         ./deploy/cdi-operator/cdi-operator.sh build-source
168         ./deploy/cdi/cdi.sh build-source
169         ./deploy/cert-manager/cert-manager.sh build-source
170         ./deploy/cluster/cluster.sh build-source
171         ./deploy/cpu-manager/cpu-manager.sh build-source
172         ./deploy/ironic/ironic.sh build-source
173         ./deploy/kata/kata.sh build-source
174         ./deploy/kubevirt-operator/kubevirt-operator.sh build-source
175         ./deploy/kubevirt/kubevirt.sh build-source
176         ./deploy/multus-cni/multus-cni.sh build-source
177         ./deploy/nodus/nodus.sh build-source
178         ./deploy/qat-plugin/qat-plugin.sh build-source