commit 0caf0ea47f99526fdaf6b3969abf1a61388ec3cd
parent 6e1c6d557ec1daa6dce05890aed77e2348b5bff5
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Mon, 4 Aug 2025 15:55:35 +0200
Migrate freshrss
Diffstat:
4 files changed, 129 insertions(+), 12 deletions(-)
diff --git a/apps/talos_cluster/envoy-gateway/gateway_settings.yaml b/apps/talos_cluster/envoy-gateway/gateway_settings.yaml
@@ -315,6 +315,18 @@ spec:
certificateRefs:
- kind: Secret
name: matrix.mtrnord.blog-tls
+ - name: https-rss-mtrnord-blog
+ protocol: HTTPS
+ hostname: "rss.mtrnord.blog"
+ port: 443
+ allowedRoutes:
+ namespaces:
+ from: "All"
+ tls:
+ mode: Terminate
+ certificateRefs:
+ - kind: Secret
+ name: rss.mtrnord.blog-tls
# - name: https-docuseal-midnightthoughts
# protocol: HTTPS
# hostname: "docuseal.midnightthoughts.space"
@@ -411,18 +423,6 @@ spec:
# certificateRefs:
# - kind: Secret
# name: notify.mtrnord.blog-tls
- # - name: https-rss-mtrnord-blog
- # protocol: HTTPS
- # hostname: "rss.mtrnord.blog"
- # port: 443
- # allowedRoutes:
- # namespaces:
- # from: "All"
- # tls:
- # mode: Terminate
- # certificateRefs:
- # - kind: Secret
- # name: rss.mtrnord.blog-tls
# - name: http
# protocol: HTTP
# port: 80
diff --git a/apps/talos_cluster/freshrss/deployment.yaml b/apps/talos_cluster/freshrss/deployment.yaml
@@ -0,0 +1,98 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: freshrss
+ namespace: freshrss
+spec:
+ progressDeadlineSeconds: 120
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 0
+ type: RollingUpdate
+ selector:
+ matchLabels:
+ app: freshrss
+ template:
+ metadata:
+ labels:
+ app: freshrss
+ spec:
+ containers:
+ - name: freshrss
+ image: freshrss/freshrss:latest
+ env:
+ - name: TZ
+ value: "Europe/Berlin"
+ - name: CRON_MIN
+ value: "1,31"
+ - name: TRUSTED_PROXY_IP
+ value: 100.64.0.0/10
+ - name: LISTEN
+ value: "0.0.0.0:8080"
+ resources:
+ limits: {}
+ requests:
+ memory: "344Mi"
+ cpu: "252m"
+ ports:
+ - containerPort: 8080
+ name: web
+ protocol: TCP
+ volumeMounts:
+ - name: data
+ mountPath: "/var/www/FreshRSS/data"
+ - mountPath: /tmp
+ name: tmp
+ livenessProbe:
+ httpGet:
+ path: /
+ port: web
+ scheme: HTTP
+ readinessProbe:
+ httpGet:
+ path: /
+ port: web
+ scheme: HTTP
+ startupProbe:
+ httpGet:
+ path: /
+ port: web
+ volumes:
+ - name: tmp
+ emptyDir:
+ sizeLimit: 2048Mi
+ - name: data
+ persistentVolumeClaim:
+ claimName: freshrss-data
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: freshrss
+spec:
+ selector:
+ app: freshrss
+ ports:
+ - name: web
+ port: 8080
+ targetPort: 8080
+---
+apiVersion: gateway.networking.k8s.io/v1
+kind: HTTPRoute
+metadata:
+ name: freshrss
+ namespace: freshrss
+spec:
+ parentRefs:
+ - name: envoy-gateway
+ namespace: envoy-gateway
+ hostnames:
+ - rss.mtrnord.blog
+ rules:
+ - backendRefs:
+ - name: freshrss
+ port: 8080
+ timeouts:
+ request: 240s
+ backendRequest: 0s
diff --git a/apps/talos_cluster/freshrss/kustomization.yaml b/apps/talos_cluster/freshrss/kustomization.yaml
@@ -0,0 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+namespace: freshrss
+resources:
+ - pvc.yaml
+ #- deployment.yaml
diff --git a/apps/talos_cluster/freshrss/pvc.yaml b/apps/talos_cluster/freshrss/pvc.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: freshrss-data
+ namespace: freshrss
+spec:
+ resources:
+ requests:
+ storage: 256Mi
+ storageClassName: ceph-filesystem
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce