Files
2024-07-14 23:06:40 +03:00

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