summaryrefslogtreecommitdiff
path: root/f3s
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-12-05 21:46:48 +0200
committerPaul Buetow <paul@buetow.org>2025-12-05 21:46:48 +0200
commit00f58a2cf67ba2491be2277aa36c8f6f546701af (patch)
tree8cba2a577ad78a6100f18d5fc84bb1d63390a546 /f3s
parent29acdda547254c0f96f62723be6300ebb1e2ca53 (diff)
Add Grafana Loki deployment
Diffstat (limited to 'f3s')
-rw-r--r--f3s/loki/Justfile12
-rw-r--r--f3s/loki/README.md24
-rw-r--r--f3s/loki/persistent-volumes.yaml34
-rw-r--r--f3s/loki/values.yaml47
4 files changed, 117 insertions, 0 deletions
diff --git a/f3s/loki/Justfile b/f3s/loki/Justfile
new file mode 100644
index 0000000..6162880
--- /dev/null
+++ b/f3s/loki/Justfile
@@ -0,0 +1,12 @@
+install:
+ helm repo add grafana https://grafana.github.io/helm-charts || true
+ helm repo update
+ kubectl apply -f persistent-volumes.yaml
+ helm install loki grafana/loki --namespace monitoring -f values.yaml
+
+uninstall:
+ helm uninstall loki --namespace monitoring
+ kubectl delete -f persistent-volumes.yaml
+
+upgrade:
+ helm upgrade loki grafana/loki --namespace monitoring -f values.yaml
diff --git a/f3s/loki/README.md b/f3s/loki/README.md
new file mode 100644
index 0000000..df0ec57
--- /dev/null
+++ b/f3s/loki/README.md
@@ -0,0 +1,24 @@
+# Grafana Loki
+
+Log aggregation system for your k3s cluster.
+
+## Prerequisites
+
+Create the data directory on your host:
+
+```bash
+sudo mkdir -p /data/nfs/k3svolumes/loki/data
+sudo chown 10001:10001 /data/nfs/k3svolumes/loki/data
+```
+
+## Install
+
+```bash
+just install
+```
+
+## Configure Grafana
+
+Add Loki as a data source in Grafana:
+- Type: Loki
+- URL: `http://loki-gateway.monitoring.svc.cluster.local`
diff --git a/f3s/loki/persistent-volumes.yaml b/f3s/loki/persistent-volumes.yaml
new file mode 100644
index 0000000..e4b6ab2
--- /dev/null
+++ b/f3s/loki/persistent-volumes.yaml
@@ -0,0 +1,34 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: loki-data-pv
+ labels:
+ type: local
+ app: loki
+spec:
+ capacity:
+ storage: 10Gi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ hostPath:
+ path: /data/nfs/k3svolumes/loki/data
+ type: DirectoryOrCreate
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: loki-data-pvc
+ namespace: monitoring
+spec:
+ storageClassName: ""
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ selector:
+ matchLabels:
+ type: local
+ app: loki
diff --git a/f3s/loki/values.yaml b/f3s/loki/values.yaml
new file mode 100644
index 0000000..1e85bfe
--- /dev/null
+++ b/f3s/loki/values.yaml
@@ -0,0 +1,47 @@
+deploymentMode: SingleBinary
+
+loki:
+ auth_enabled: false
+ commonConfig:
+ replication_factor: 1
+ storage:
+ type: filesystem
+ schemaConfig:
+ configs:
+ - from: "2024-01-01"
+ store: tsdb
+ object_store: filesystem
+ schema: v13
+ index:
+ prefix: index_
+ period: 24h
+
+singleBinary:
+ replicas: 1
+ persistence:
+ enabled: true
+ existingClaim: loki-data-pvc
+
+read:
+ replicas: 0
+
+write:
+ replicas: 0
+
+backend:
+ replicas: 0
+
+gateway:
+ enabled: false
+
+chunksCache:
+ enabled: false
+
+resultsCache:
+ enabled: false
+
+lokiCanary:
+ enabled: false
+
+test:
+ enabled: false