#!/usr/bin/env bash set -ex # minikube start --cpus 4 --memory 4GiB --vm # minikube addons enable ingress # minikube addons enable metrics-server helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo add kedacore https://kedacore.github.io/charts helm repo add nextcloud https://nextcloud.github.io/helm/ helm repo update helm upgrade --install --namespace monitoring --create-namespace prometheus prometheus-community/prometheus --values <( ingress: enabled: true hosts: - prometheus ) helm upgrade --install --namespace scaling --create-namespace keda kedacore/keda --set prometheus.enabled=true helm upgrade --install --namespace nextcloud --create-namespace nextcloud nextcloud/nextcloud \ --set ingress.enabled=true \ --set metrics.enabled=true \ --set nextcloud.host=nextcloud \ --set nextcloud.password=qwerty \ --set-string service.port=80 kubectl patch service --namespace monitoring prometheus-server --patch '{ "spec": { "type": "NodePort" } }' kubectl patch deployments.apps --namespace kube-system ingress-nginx-controller --patch '{ "spec": { "template": { "metadata": { "annotations": { "prometheus.io/port": "10254", "prometheus.io/scrape": "true" } } } } }' # minikube service --namespace monitoring prometheus-server # kubectl patch service --namespace monitoring grafana --patch '{ # "spec": { # "type": "NodePort" # } # }' # curl "$(minikube service --namespace monitoring grafana --url)/api/datasources" --request POST --user admin:qwerty --header "Content-Type: application/json" --data '{ # "name": "Prometheus", # "type": "prometheus", # "access": "proxy", # "url": "http://prometheus-server" # }' # echo "$(minikube ip) nextcloud" | sudo tee -a /etc/hosts # minikube service --namespace nextcloud nextcloud kubectl apply --filename - < /tmp/values.demo.grafana.yaml <