feat(homelab): add prometheus & grafana, jless fd + more zsh plugins

This commit is contained in:
2026-01-01 13:19:41 -08:00
parent 3d77a1478a
commit c5dc30dd4a
7 changed files with 110 additions and 2 deletions

View File

@@ -86,4 +86,11 @@ routes = [
port = 8096,
private = true
},
{
name = "grafana",
namespace = "monitoring",
service = "prometheus-stack-grafana",
port = 80,
private = true
},
]

View File

@@ -30,6 +30,13 @@ releases:
- crds:
enabled: true
- name: prometheus-stack
chart: oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack
namespace: monitoring
version: 80.9.2
values:
- values/prometheus.yaml
# Git
- name: gitea
namespace: git

View File

@@ -0,0 +1,58 @@
# Install Prometheus Operator CRDs
crds:
enabled: true
alertmanager:
enabled: false
prometheus:
prometheusSpec:
storageSpec:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
retention: 15d
retentionSize: "18GB"
resources:
requests:
cpu: 100m
memory: 512Mi
limits:
cpu: 500m
memory: 2Gi
grafana:
enabled: true
persistence:
enabled: true
size: 5Gi
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 300m
memory: 512Mi
nodeExporter:
enabled: true
kubeStateMetrics:
enabled: true
kubeEtcd:
enabled: false
kubeControllerManager:
enabled: false
kubeScheduler:
enabled: false
kubeProxy:
enabled: false

View File

@@ -233,6 +233,28 @@ spec:
- backendRefs:
- name: jellyfin
port: 8096
filters:
- type: ExtensionRef
extensionRef:
group: traefik.io
kind: Middleware
name: private-networks
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: grafana
namespace: monitoring
spec:
parentRefs:
- name: traefik-gateway
namespace: kube-system
hostnames:
- grafana.lucalise.ca
rules:
- backendRefs:
- name: prometheus-stack-grafana
port: 80
filters:
- type: ExtensionRef
extensionRef:

View File

@@ -33,6 +33,17 @@ spec:
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: private-networks
namespace: monitoring
spec:
chain:
middlewares:
- name: private-networks
namespace: kube-system
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: private-networks
namespace: pihole-system