bbd88ba389
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
70 lines
2.4 KiB
Makefile
70 lines
2.4 KiB
Makefile
VERSION := 0.1.1
|
|
|
|
.PHONY: build-image
|
|
build-image:
|
|
docker build -t gitea.rodneyosodo.com/rodneyosodo/nameko-prometheus:latest .
|
|
|
|
.PHONY: run-docker
|
|
run-docker:
|
|
docker run -it -p 8000:8000 gitea.rodneyosodo.com/rodneyosodo/nameko-prometheus:latest
|
|
|
|
.PHONY: push-image
|
|
push-image:
|
|
docker push gitea.rodneyosodo.com/rodneyosodo/nameko-prometheus:latest
|
|
|
|
.PHONY: run
|
|
run:
|
|
nameko run service:HTTPService --config config.yaml
|
|
|
|
.PHONY: install-prometheus-k8s
|
|
install-prometheus-k8s:
|
|
@echo "Installing Prometheus on k8s"
|
|
@kubectl create namespace monitoring
|
|
@helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
|
@helm repo update
|
|
@helm install kube-state-metrics prometheus-community/kube-state-metrics -n monitoring
|
|
@helm install prometheus-node-exporter prometheus-community/prometheus-node-exporter -n monitoring
|
|
@echo "List of pods and services created by Prometheus on k8s"
|
|
kubectl get pods -n monitoring
|
|
kubectl get svc -n monitoring
|
|
|
|
.PHONY: export-ports
|
|
export-ports:
|
|
@echo "Expose kube-state-metrics service on k8s"
|
|
kubectl expose service kube-state-metrics -n monitoring --type=NodePort --target-port=8080 --name=kube-state-metrics-np
|
|
@echo "Prometheus service exposed on k8s"
|
|
kubectl get svc kube-state-metrics-np -n monitoring
|
|
@echo "Expose prometheus-node-exporter service on k8s"
|
|
kubectl expose service prometheus-node-exporter -n monitoring --type=NodePort --target-port=9100 --name=prometheus-node-exporter-np
|
|
@echo "Prometheus service exposed on k8s"
|
|
kubectl get svc prometheus-node-exporter-np -n monitoring
|
|
|
|
.PHONY: remove-prometheus-k8s
|
|
remove-prometheus-k8s:
|
|
@helm uninstall kube-state-metrics -n monitoring
|
|
@helm uninstall prometheus-node-exporter -n monitoring
|
|
@kubectl delete namespace monitoring
|
|
|
|
.PHONY: deploy-to-k8s
|
|
deploy-to-k8s:
|
|
@kubectl apply -n nameko-prometheus -f k8s.yaml
|
|
|
|
.PHONY: remove-from-k8s
|
|
remove-from-k8s:
|
|
@kubectl delete -f k8s.yaml
|
|
|
|
.PHONY: release
|
|
release: build-image push-image
|
|
@echo "Releasing version $(VERSION)"
|
|
@git add Makefile
|
|
@git commit -sm "chore: release $(VERSION)"
|
|
@git tag $(VERSION)
|
|
@git push origin $(VERSION)
|
|
@docker tag gitea.rodneyosodo.com/rodneyosodo/nameko-prometheus:latest gitea.rodneyosodo.com/rodneyosodo/nameko-prometheus:$(VERSION)
|
|
@docker push gitea.rodneyosodo.com/rodneyosodo/nameko-prometheus:$(VERSION)
|
|
@echo "Release done"
|
|
|
|
.PHONY: run-docker-monitoring
|
|
run-docker-monitoring:
|
|
docker compose -f docker-compose-monitoring.yaml up
|