-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (59 loc) · 1.8 KB
/
Copy pathMakefile
File metadata and controls
69 lines (59 loc) · 1.8 KB
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
APPS := dotnet-statsd java-metrics go-metrics node-statsd python-metrology python-relationship python-statsd
.PHONY: default
default:
@echo "Usage: make <target>"
@echo
@echo "Targets:"
@echo " docker-up Run using docker-compose."
@echo " docker-down Stop docker-compose."
@echo " docker-logs Follow docker-compose logs."
@echo
@echo " push-images Build and push images to remote repository."
@echo " kubernetes-up Deploy to Kubernetes."
@echo " kubernetes-down Destroy Kubernetes deployment."
@echo " kubernetes-logs Follow Kubernetes logs."
@echo
.PHONY: validate-zenoss-env
validate-zenoss-env:
@if [ -z "$$ZENOSS_ADDRESS" ]; then \
echo >&2 "ZENOSS_ADDRESS must be set." ; \
false ;\
fi
@if [ -z "$$ZENOSS_API_KEY" ]; then \
echo >&2 "ZENOSS_API_KEY must be set." ; \
false ;\
fi
.PHONY: docker-up
docker-up: validate-zenoss-env
@docker-compose up -d
.PHONY: docker-down
docker-down: validate-zenoss-env
@docker-compose down
.PHONY: docker-logs
docker-logs:
@docker-compose logs --tail=1 --follow
.PHONY: push-images
push-images:
@echo "Pushing image for requester app."
@pushd requester ; make push-image ; popd
@echo "Pushing images for example apps."
@for APP in $(APPS); do \
pushd $$APP ; make push-image ; popd ; \
done
kubernetes.yml: validate-zenoss-env kubernetes.yml.in
@envsubst < kubernetes.yml.in > kubernetes.yml
.PHONY: kubernetes-up
kubernetes-up: kubernetes.yml
@kubectl apply -n app-examples -f kubernetes.yml
@for APP in $(APPS); do \
kubectl -n app-examples apply -f "$$APP/kubernetes.yml" ; \
done
.PHONY: kubernetes-down
kubernetes-down:
@kubectl delete namespace app-examples
.PHONY: kubernetes-logs
kubernetes-logs:
@if ! stern --tail=1 --namespace app-examples . ; \
then \
echo "install 'stern' for Kubernetes logs" ; \
fi