Add Jellystat deployment, service, PVCs, and sealed secret configurations

This commit is contained in:
2025-10-15 13:54:07 +05:30
parent 9728cc922f
commit 717b19a95d
4 changed files with 129 additions and 0 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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