aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaditya Dhruv <[email protected]>2025-04-22 17:22:26 -0500
committerAaditya Dhruv <[email protected]>2025-05-01 20:19:54 -0500
commit234c6dc89e1b9b64aec464f5b970715a4f536a91 (patch)
treeda1bc1d827e3bac60ceb1979d681d7a8327322f6
parentbf4f13faeb9bb9030459d4e89500f5db4fd6efac (diff)
Add monitoring role
Only prometheus is deployed, and the PV/PVC for it is accordingly configured
-rw-r--r--roles/monitoring/defaults/main.yaml2
-rw-r--r--roles/monitoring/tasks/main.yaml67
2 files changed, 69 insertions, 0 deletions
diff --git a/roles/monitoring/defaults/main.yaml b/roles/monitoring/defaults/main.yaml
new file mode 100644
index 0000000..438c4dd
--- /dev/null
+++ b/roles/monitoring/defaults/main.yaml
@@ -0,0 +1,2 @@
+nfs:
+ path: "/mnt/nfs/k3s/prometheus"
diff --git a/roles/monitoring/tasks/main.yaml b/roles/monitoring/tasks/main.yaml
index 27bec57..cb954fd 100644
--- a/roles/monitoring/tasks/main.yaml
+++ b/roles/monitoring/tasks/main.yaml
@@ -6,6 +6,51 @@
delegate_to: localhost
run_once: true
+- name: Add Prometheus PV
+ kubernetes.core.k8s:
+ state: "{%- if monitoring.enabled -%} present {%- else -%} absent {%- endif -%}"
+ definition:
+ apiVersion: v1
+ kind: PersistentVolume
+ metadata:
+ name: "prometheus-pv"
+ labels:
+ app: "prometheus-pv"
+ spec:
+ storageClassName: nfs
+ capacity:
+ storage: 8Gi
+ accessModes:
+ - ReadWriteMany
+ nfs:
+ server: "{{ nfs.server }}"
+ path: "{{ nfs.path }}"
+ readOnly: false
+ delegate_to: localhost
+ run_once: true
+
+- name: Add Prometheus PVC
+ kubernetes.core.k8s:
+ state: "{%- if monitoring.enabled -%} present {%- else -%} absent {%- endif -%}"
+ definition:
+ apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
+ name: prometheus-pvc
+ namespace: default
+ spec:
+ storageClassName: nfs
+ accessModes:
+ - ReadWriteMany
+ resources:
+ requests:
+ storage: 8Gi
+ selector:
+ matchLabels:
+ app: "prometheus-pv"
+ delegate_to: localhost
+ run_once: true
+
- name: Deploy prometheus
kubernetes.core.helm:
name: prometheus
@@ -13,5 +58,27 @@
namespace: default
state: "{%- if monitoring.enabled -%} present {%- else -%} absent {%- endif -%}"
values:
+ alertmanager:
+ enabled: false
+ prometheus-pushgateway:
+ enabled: false
+ server:
+ ingress:
+ annotations:
+ cert-manager.io/cluster-issuer: ca-issuer
+ enabled: true
+ hosts:
+ - prometheus.home
+ tls:
+ - secretName: prometheus-tls
+ hosts:
+ - prometheus.home
+ securityContext:
+ runAsUser: 1000
+ runAsNonRoot: true
+ runAsGroup: 1000
+ fsGroup: 1000
+ persistentVolume:
+ existingClaim: "prometheus-pvc"
delegate_to: localhost
run_once: true