summaryrefslogtreecommitdiff
path: root/gemfeed/examples/conf/f3s/radicale
diff options
context:
space:
mode:
Diffstat (limited to 'gemfeed/examples/conf/f3s/radicale')
-rw-r--r--gemfeed/examples/conf/f3s/radicale/Justfile12
-rw-r--r--gemfeed/examples/conf/f3s/radicale/helm-chart/Chart.yaml5
-rw-r--r--gemfeed/examples/conf/f3s/radicale/helm-chart/templates/deployment.yaml67
-rw-r--r--gemfeed/examples/conf/f3s/radicale/helm-chart/templates/ingress.yaml20
-rw-r--r--gemfeed/examples/conf/f3s/radicale/helm-chart/templates/persistent-volumes.yaml55
5 files changed, 159 insertions, 0 deletions
diff --git a/gemfeed/examples/conf/f3s/radicale/Justfile b/gemfeed/examples/conf/f3s/radicale/Justfile
new file mode 100644
index 00000000..6be7406a
--- /dev/null
+++ b/gemfeed/examples/conf/f3s/radicale/Justfile
@@ -0,0 +1,12 @@
+NAMESPACE := "services"
+RELEASE_NAME := "radicale"
+CHART_PATH := "./helm-chart"
+
+install:
+ helm install {{RELEASE_NAME}} {{CHART_PATH}} --namespace {{NAMESPACE}} --create-namespace
+
+upgrade:
+ helm upgrade {{RELEASE_NAME}} {{CHART_PATH}} --namespace {{NAMESPACE}}
+
+delete:
+ helm uninstall {{RELEASE_NAME}} --namespace {{NAMESPACE}}
diff --git a/gemfeed/examples/conf/f3s/radicale/helm-chart/Chart.yaml b/gemfeed/examples/conf/f3s/radicale/helm-chart/Chart.yaml
new file mode 100644
index 00000000..421dd485
--- /dev/null
+++ b/gemfeed/examples/conf/f3s/radicale/helm-chart/Chart.yaml
@@ -0,0 +1,5 @@
+apiVersion: v2
+name: radicale
+description: A Helm chart for deploying a gpodder sync server.
+version: 0.1.0
+appVersion: "latest"
diff --git a/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/deployment.yaml b/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/deployment.yaml
new file mode 100644
index 00000000..725fcba1
--- /dev/null
+++ b/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/deployment.yaml
@@ -0,0 +1,67 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: radicale
+ namespace: services
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: radicale
+ template:
+ metadata:
+ labels:
+ app: radicale
+ spec:
+ initContainers:
+ - name: debug-auth-and-mounts
+ image: busybox:1.36
+ command: ["/bin/sh", "-c"]
+ args:
+ - |
+ set -eu
+ echo "=== /proc/mounts ===" && cat /proc/mounts || true
+ echo "=== df -h ===" && df -h || true
+ echo "=== ls -lna / ===" && ls -lna / || true
+ echo "=== ls -lna /auth ===" && ls -lna /auth || true
+ echo "=== ls -lna /collections ===" && ls -lna /collections || true
+ echo "=== find /auth (maxdepth 2) ===" && find /auth -maxdepth 2 || true
+ [ -f /auth/htpasswd ] && { echo "=== stat /auth/htpasswd ==="; stat /auth/htpasswd || true; } || echo "htpasswd missing in init"
+ volumeMounts:
+ - name: radicale-collections
+ mountPath: /collections
+ - name: radicale-auth
+ mountPath: /auth
+ containers:
+ - name: radicale
+ image: registry.lan.buetow.org:30001/radicale:latest
+ ports:
+ - containerPort: 8080
+ volumeMounts:
+ - name: radicale-collections
+ mountPath: /collections
+ - name: radicale-auth
+ mountPath: /auth
+ volumes:
+ - name: radicale-collections
+ persistentVolumeClaim:
+ claimName: radicale-collections-pvc
+ - name: radicale-auth
+ persistentVolumeClaim:
+ claimName: radicale-auth-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: radicale
+ name: radicale-service
+ namespace: services
+spec:
+ ports:
+ - name: web
+ port: 80
+ protocol: TCP
+ targetPort: 8080
+ selector:
+ app: radicale
diff --git a/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/ingress.yaml b/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/ingress.yaml
new file mode 100644
index 00000000..680ab7d8
--- /dev/null
+++ b/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/ingress.yaml
@@ -0,0 +1,20 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: radicale-ingress
+ namespace: services
+ annotations:
+ spec.ingressClassName: traefik
+ traefik.ingress.kubernetes.io/router.entrypoints: web
+spec:
+ rules:
+ - host: radicale.f3s.buetow.org
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: radicale-service
+ port:
+ number: 80
diff --git a/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/persistent-volumes.yaml b/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/persistent-volumes.yaml
new file mode 100644
index 00000000..95d64883
--- /dev/null
+++ b/gemfeed/examples/conf/f3s/radicale/helm-chart/templates/persistent-volumes.yaml
@@ -0,0 +1,55 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: radicale-collections-pv
+spec:
+ capacity:
+ storage: 1Gi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ hostPath:
+ path: /data/nfs/k3svolumes/radicale/collections
+ type: Directory
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: radicale-collections-pvc
+ namespace: services
+spec:
+ storageClassName: ""
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: radicale-auth-pv
+spec:
+ capacity:
+ storage: 1Gi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ hostPath:
+ path: /data/nfs/k3svolumes/radicale/auth
+ type: Directory
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: radicale-auth-pvc
+ namespace: services
+spec:
+ storageClassName: ""
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi