apiVersion: v1 kind: Namespace metadata: name: freshrss --- apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: name: freshrss-db namespace: freshrss spec: instances: 1 imageName: ghcr.io/cloudnative-pg/postgresql:16 bootstrap: initdb: database: freshrss owner: freshrss_admin storage: size: 5Gi storageClass: longhorn --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: freshrss-config-pvc namespace: freshrss spec: accessModes: - ReadWriteOnce storageClassName: longhorn resources: requests: storage: 2Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: freshrss namespace: freshrss spec: replicas: 1 revisionHistoryLimit: 5 selector: matchLabels: app: freshrss strategy: type: Recreate template: metadata: labels: app: freshrss spec: containers: - name: freshrss image: lscr.io/linuxserver/freshrss:latest imagePullPolicy: IfNotPresent ports: - containerPort: 80 name: http protocol: TCP env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: "Europe/London" - name: CRON_MIN value: "*/20" - name: DB_TYPE value: "pgsql" - name: DB_HOST value: "freshrss-db-rw:5432" - name: DB_BASE value: "freshrss" - name: DB_USER value: "freshrss_admin" - name: DB_PASSWORD valueFrom: secretKeyRef: name: freshrss-db-app key: password volumeMounts: - mountPath: /config name: freshrss-config-data dnsPolicy: ClusterFirst restartPolicy: Always volumes: - name: freshrss-config-data persistentVolumeClaim: claimName: freshrss-config-pvc --- apiVersion: v1 kind: Service metadata: name: freshrss-service namespace: freshrss spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: freshrss type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: freshrss-ingress namespace: freshrss annotations: cert-manager.io/cluster-issuer: "letsencrypt-production" nginx.ingress.kubernetes.io/backend-protocol: "HTTP" spec: ingressClassName: nginx tls: - secretName: freshrss-tls-secret hosts: - rss.needlestack.boo rules: - host: rss.needlestack.boo http: paths: - path: / pathType: Prefix backend: service: name: freshrss-service port: number: 80