diff --git a/clusters/default/monitoring/jellystat/jellystat-pvc.yml b/clusters/default/monitoring/jellystat/jellystat-pvc.yml new file mode 100644 index 0000000..ffd914f --- /dev/null +++ b/clusters/default/monitoring/jellystat/jellystat-pvc.yml @@ -0,0 +1,29 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jellystat-longhorn + namespace: monitoring +spec: + accessModes: + - ReadWriteOnce + volumeMode: Filesystem + resources: + requests: + storage: 1Gi + storageClassName: longhorn + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jellystat-backups-longhorn + namespace: monitoring +spec: + accessModes: + - ReadWriteOnce + volumeMode: Filesystem + resources: + requests: + storage: 1Gi + storageClassName: longhorn diff --git a/clusters/default/monitoring/jellystat/jellystat-secret.yml b/clusters/default/monitoring/jellystat/jellystat-secret.yml new file mode 100644 index 0000000..56c6679 --- /dev/null +++ b/clusters/default/monitoring/jellystat/jellystat-secret.yml @@ -0,0 +1,15 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: jellystat-secret + namespace: monitoring +spec: + encryptedData: + jwt: AgB7sBeZmw6pQcOnq5TGwejPRNv3SmVkohW+8hUuLving5y5EBJvwMBbYQwQ7D4jkM3JADXpd7gxD/cdU9sx6hh8+fYFR1b1cOx6hvFnlp3/YepKCOE8KmNBqeUbPMw6A8bzbcSQA9h2qIqxZyFRQr7MYQwPR7d5jqDk+a50pBz7QiRzkZiGV6dPfOpshrSuupP6e+WaIM3TvJWIR+3ipSzOdEXdmbxzqENU8+rbbIkZzXonN3zAxIB/5WVDXv36wftPafptb2gDpmrv56QpRnMp3eMfGh0x6O10qklD/uAV2JsBbid4NXF5MAu2Q/IT9V26JAEtEPemZz2IkY5d1PHb2e6AniBkpH9NLf8iAGpUE2LHvu0/e+vufWcho3z324NccRmGPTjraTSQr1OFSO3TBPD5ythxGaOUIerCXpaWIHC+NvPFx9eHPVSFNgsRTxnYRy8TTi8geI/2lo+vQ0oNFC8Bnfrax73tlCuGFpK5K5vEYfBGRnbFN7pcLKf94oqOieUf+m5mIf4UMxWejxs2YtxbP4g0uVPyxlM+EwpVHBfAc4kqaDCRcSsEP+WwzIwtmwL10zGWPfzC9jHhvuM20R6ZG6AlfiQ7G6sUMwZHBmMIKyivQuebfW+oOWhJHAeIe6oNqtJcqLEhUpD/FW9izysU3zKoaez8hvIjZE65Wp+dGlHLM2va1GwqSHQb1wXREbou4bB1CR97Qw3MdF3sWDISwAB2edM= + password: AgBrGkC6KR/TykbM8aC5RyhS96BTeNYbCgvFpkzXG4hD/gcuDvmKd7MqznUtfVr8f+ElLtXjbWvfuymSk9SaAniL38C7q6DwggNqZT2It8XlSj9KlLA68Xey9ilMEXRxW9Rx8wNUjQZsejtsRXQYfXA1B3TTA/67vrTjoheuKTXnuicS7WrNRJn2jarUkCcAlUZnSkFCPepw8GrLBPLXiAZoXPhu25D1GOCUxsv3NOyySF9NhDeL1539hDghd2SuvuKJhqEHi3wn6IAA1UrdWXAhGvw1e1SxGN1vVPnyjH7Yjama1PFIbxg3WUQy6kCV15jWoOOyRk411JzHVf17tKA/qI8rEJAkT68uf96+L90BuOM4TyCRHGnjaWegu9wAy5L9mX653l/iPK2RbURnMDXCO7sICcKBZOaPgwSNoEJi56xfRiB6wFEXbRyg03OQBWZVwWBQoavGaMklw+QcxeG/ufFJA2kC7wcxttlKwTbgewvrU0DTCHO7BLDQLq/z6VbA43csdLWxxyrqAxdog+XDuRUx2UkGwrE8JJuWlyolequEWCLIDsZ0Z2B9ZKKRI0bn2z06uATd+Zr2KGeNQD8nF6Dplcx+rLWuukvl+KBJLx4gx2PgRDQUeTLatWvGDt66MOg0gakYTFpfV1dEyTRw9sJ8ZK4ALKsN/1mtjyncl4m94JnOP7Rw/p6Nl9TBBFJEll0LCcnFV9fdlA== + template: + metadata: + name: jellystat-secret + namespace: monitoring + type: Opaque diff --git a/clusters/default/monitoring/jellystat/jellystat-svc.yml b/clusters/default/monitoring/jellystat/jellystat-svc.yml new file mode 100644 index 0000000..8b20491 --- /dev/null +++ b/clusters/default/monitoring/jellystat/jellystat-svc.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: jellystat-service + namespace: monitoring +spec: + type: LoadBalancer + selector: + app: jellystat + ports: + - port: 3001 + targetPort: 3000 + protocol: TCP diff --git a/clusters/default/monitoring/jellystat/jellystat.yml b/clusters/default/monitoring/jellystat/jellystat.yml new file mode 100644 index 0000000..5394ae1 --- /dev/null +++ b/clusters/default/monitoring/jellystat/jellystat.yml @@ -0,0 +1,71 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jellystat + namespace: monitoring +spec: + strategy: + type: Recreate + replicas: 1 + selector: + matchLabels: + app: jellystat + template: + metadata: + labels: + app: jellystat + spec: + initContainers: + - name: jellystat-db + image: postgres:alpine + restartPolicy: Always + ports: + - containerPort: 5432 + env: + - name: POSTGRES_DB + value: "jfstat" + - name: POSTGRES_USER + value: "postgres" + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: jellystat-secret + key: password + - name: PGDATA + value: /mnt/postgres/data + volumeMounts: + - name: postgres-data + mountPath: /mnt/postgres + containers: + - name: jellystat + image: cyfershepard/jellystat:1.1.6 + ports: + - containerPort: 3000 + env: + - name: POSTGRES_USER + value: "postgres" + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: jellystat-secret + key: password + - name: POSTGRES_IP + value: "localhost" + - name: POSTGRES_PORT + value: "5432" + - name: JWT_SECRET + valueFrom: + secretKeyRef: + name: jellystat-secret + key: jwt + volumeMounts: + - name: backups + mountPath: /app/backend/backup-data + volumes: + - name: postgres-data + persistentVolumeClaim: + claimName: jellystat-longhorn + - name: backups + persistentVolumeClaim: + claimName: jellystat-backups-longhorn