cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

commit 0caf0ea47f99526fdaf6b3969abf1a61388ec3cd
parent 6e1c6d557ec1daa6dce05890aed77e2348b5bff5
Author: MTRNord <MTRNord@users.noreply.github.com>
Date:   Mon,  4 Aug 2025 15:55:35 +0200

Migrate freshrss

Diffstat:
Mapps/talos_cluster/envoy-gateway/gateway_settings.yaml | 24++++++++++++------------
Aapps/talos_cluster/freshrss/deployment.yaml | 98+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapps/talos_cluster/freshrss/kustomization.yaml | 6++++++
Aapps/talos_cluster/freshrss/pvc.yaml | 13+++++++++++++
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