diff --git a/apps/templates/freshrss-folder.yaml b/apps/templates/freshrss-folder.yaml new file mode 100644 index 0000000..18b6702 --- /dev/null +++ b/apps/templates/freshrss-folder.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: freshrss-folder + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + source: + repoURL: https://github.com/rubenhensen/k8scd.git + targetRevision: HEAD + path: freshrss + destination: + server: https://kubernetes.default.svc + namespace: freshrss + syncPolicy: + syncOptions: + - CreateNamespace=true + automated: + selfHeal: true diff --git a/apps/templates/ttrss-helm.yaml b/apps/templates/ttrss-helm.yaml index 5d52cd2..4639b15 100644 --- a/apps/templates/ttrss-helm.yaml +++ b/apps/templates/ttrss-helm.yaml @@ -59,14 +59,14 @@ spec: cert-manager.io/cluster-issuer: prod-cluster-issuer nginx.ingress.kubernetes.io/backend-protocol: "HTTP" hosts: - - host: rss.hensen.io + - host: rss2.hensen.io paths: - path: "/" tls: - secretName: letsencrypt-prod hosts: - - rss.hensen.io + - rss2.hensen.io # -- Bitnami postgres chart. For more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql # @default -- see bellow diff --git a/freshrss/data-persistentvolumeclaim.yaml b/freshrss/data-persistentvolumeclaim.yaml new file mode 100644 index 0000000..d124558 --- /dev/null +++ b/freshrss/data-persistentvolumeclaim.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + io.kompose.service: data + name: data +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi diff --git a/freshrss/extensions-persistentvolumeclaim.yaml b/freshrss/extensions-persistentvolumeclaim.yaml new file mode 100644 index 0000000..6370533 --- /dev/null +++ b/freshrss/extensions-persistentvolumeclaim.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + io.kompose.service: extensions + name: extensions +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi diff --git a/freshrss/freshrss-claim2-persistentvolumeclaim.yaml b/freshrss/freshrss-claim2-persistentvolumeclaim.yaml new file mode 100644 index 0000000..6b54492 --- /dev/null +++ b/freshrss/freshrss-claim2-persistentvolumeclaim.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + io.kompose.service: freshrss-claim2 + name: freshrss-claim2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi diff --git a/freshrss/freshrss-claim3-persistentvolumeclaim.yaml b/freshrss/freshrss-claim3-persistentvolumeclaim.yaml new file mode 100644 index 0000000..2c1f930 --- /dev/null +++ b/freshrss/freshrss-claim3-persistentvolumeclaim.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + io.kompose.service: freshrss-claim3 + name: freshrss-claim3 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi diff --git a/freshrss/freshrss-deployment.yaml b/freshrss/freshrss-deployment.yaml new file mode 100644 index 0000000..e85fd46 --- /dev/null +++ b/freshrss/freshrss-deployment.yaml @@ -0,0 +1,70 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: freshrss + name: freshrss +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: freshrss + strategy: + type: Recreate + template: + metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: freshrss + spec: + containers: + - env: + # - name: CRON_MIN + # value: 2,32 + - name: FRESHRSS_ENV + value: production + # - name: FRESHRSS_INSTALL + # value: "--api-enabled\n--base-url \n--db-base \n--db-host \n--db-password \n--db-type pgsql\n--db-user \n--default-user admin\n--language en" + # - name: FRESHRSS_USER + # value: "--api-password \n--email \n--language en\n--password \n--user admin" + # - name: LISTEN + # value: 0.0.0.0:80 + - name: OIDC_ENABLED + value: "0" + # - name: TRUSTED_PROXY + # value: 172.16.0.1/12 192.168.0.1/16 + - name: TZ + value: Europe/Amsterdam + image: freshrss/freshrss:stable + name: freshrss + ports: + - containerPort: 80 + protocol: TCP + volumeMounts: + - mountPath: /var/www/FreshRSS/data + name: data + - mountPath: /var/www/FreshRSS/extensions + name: extensions + - mountPath: /var/www/FreshRSS/data/config.custom.php + name: freshrss-claim2 + - mountPath: /var/www/FreshRSS/data/config-user.custom.php + name: freshrss-claim3 + restartPolicy: Always + volumes: + - name: data + persistentVolumeClaim: + claimName: data + - name: extensions + persistentVolumeClaim: + claimName: extensions + - name: freshrss-claim2 + persistentVolumeClaim: + claimName: freshrss-claim2 + - name: freshrss-claim3 + persistentVolumeClaim: + claimName: freshrss-claim3 diff --git a/freshrss/freshrss-service.yaml b/freshrss/freshrss-service.yaml new file mode 100644 index 0000000..4bdba99 --- /dev/null +++ b/freshrss/freshrss-service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: freshrss + name: freshrss +spec: + ports: + - name: "8080" + port: 8080 + targetPort: 80 + selector: + io.kompose.service: freshrss diff --git a/freshrss/ingress.yaml b/freshrss/ingress.yaml new file mode 100644 index 0000000..f3360d8 --- /dev/null +++ b/freshrss/ingress.yaml @@ -0,0 +1,28 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: rss-ingress + annotations: + cert-manager.io/cluster-issuer: prod-cluster-issuer + nginx.ingress.kubernetes.io/backend-protocol: "HTTP" + nginx.ingress.kubernetes.io/ssl-passthrough: "false" +spec: + ingressClassName: nginx + rules: + - host: rss.hensen.io + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: freshrss + port: + number: 8080 + # TLS configuration for HTTPS + tls: + # TLS secretName used on ClusterIssuer + - secretName: letsencrypt-prod + hosts: + - rss.hensen.io +