...
1SHELL=/bin/bash -euo pipefail
2
3CLUSTER_NAME=watcherx-integration-test
4SNAPSHOT_FILE=eventlog_snapshot
5
6define generate_snapshot
7 sleep 5
8 make update
9 sleep 1
10 kubectl logs eventlogger --context kind-${CLUSTER_NAME} >> $(1)
11 make apply
12 sleep 1
13 kubectl logs eventlogger --context kind-${CLUSTER_NAME} >> $(1)
14 make update
15 sleep 1
16 kubectl logs eventlogger --context kind-${CLUSTER_NAME} >> $(1)
17endef
18
19.PHONY: build
20build:
21 docker build -f Dockerfile -t eventlogger:latest ../..
22
23.PHONY: create
24create:
25 kind create cluster --name ${CLUSTER_NAME} --wait 1m || true
26
27.PHONY: load
28load:
29 kind load docker-image eventlogger:latest --name ${CLUSTER_NAME}
30
31.PHONY: apply
32apply:
33 kubectl apply -f configmap.yml -f event_logger.yml --context kind-${CLUSTER_NAME}
34
35.PHONY: delete
36delete:
37 kind delete cluster --name ${CLUSTER_NAME}
38
39.PHONY: setup
40setup: build create load apply
41
42.PHONY: snapshot
43snapshot: setup container-restart
44 rm ${SNAPSHOT_FILE}
45 ${call generate_snapshot,$(SNAPSHOT_FILE)}
46
47.PHONY: check
48check: setup container-restart
49 rm tmp_snapshot || true
50 ${call generate_snapshot,tmp_snapshot}
51 diff tmp_snapshot ${SNAPSHOT_FILE}
52
53.PHONY: logs
54logs:
55 kubectl logs eventlogger --context kind-${CLUSTER_NAME}
56
57.PHONY: container-restart
58container-restart:
59 kubectl delete -f event_logger.yml --context kind-${CLUSTER_NAME}
60 kubectl apply -f event_logger.yml --context kind-${CLUSTER_NAME}
61
62.PHONY: update
63update:
64 cat configmap.yml | sed 's/somevalue/othervalue/' | kubectl apply -f - --context kind-${CLUSTER_NAME}
65 cat event_logger.yml | sed 's/somevalue/othervalue/' | kubectl apply -f - --context kind-${CLUSTER_NAME}
View as plain text