125 lines
3.3 KiB
YAML
125 lines
3.3 KiB
YAML
jellystat:
|
|
controllers:
|
|
main:
|
|
type: deployment
|
|
replicas: 1
|
|
strategy: Recreate
|
|
containers:
|
|
main:
|
|
image:
|
|
repository: ghcr.io/cyfershepard/jellystat
|
|
tag: 1.1.8@sha256:c8c451704ba7985340142cd047e2364cabaf41b613669b6c5340688ed217f82a
|
|
env:
|
|
- name: TZ
|
|
value: America/Chicago
|
|
- name: JWT_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: jellystat-secret
|
|
key: secret-key
|
|
- name: JS_USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: jellystat-secret
|
|
key: user
|
|
- name: JS_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: jellystat-secret
|
|
key: password
|
|
- name: POSTGRES_USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: jellystat-postgresql-18-cluster-app
|
|
key: username
|
|
- name: POSTGRES_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: jellystat-postgresql-18-cluster-app
|
|
key: password
|
|
- name: POSTGRES_DB
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: jellystat-postgresql-18-cluster-app
|
|
key: dbname
|
|
- name: POSTGRES_IP
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: jellystat-postgresql-18-cluster-app
|
|
key: host
|
|
- name: POSTGRES_PORT
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: jellystat-postgresql-18-cluster-app
|
|
key: port
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 400Mi
|
|
service:
|
|
main:
|
|
controller: main
|
|
ports:
|
|
http:
|
|
port: 80
|
|
targetPort: 3000
|
|
route:
|
|
main:
|
|
kind: HTTPRoute
|
|
parentRefs:
|
|
- group: gateway.networking.k8s.io
|
|
kind: Gateway
|
|
name: traefik-gateway
|
|
namespace: traefik
|
|
hostnames:
|
|
- jellystat.alexlebens.net
|
|
rules:
|
|
- backendRefs:
|
|
- name: jellystat
|
|
port: 80
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /
|
|
persistence:
|
|
data:
|
|
forceRename: jellystat-data
|
|
storageClass: ceph-block
|
|
accessMode: ReadWriteOnce
|
|
size: 5Gi
|
|
advancedMounts:
|
|
main:
|
|
main:
|
|
- path: /app/backend/backup-data
|
|
readOnly: false
|
|
postgres-18-cluster:
|
|
mode: recovery
|
|
recovery:
|
|
method: objectStore
|
|
objectStore:
|
|
index: 1
|
|
backup:
|
|
objectStore:
|
|
- name: garage-local
|
|
index: 1
|
|
destinationBucket: postgres-backups
|
|
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
|
isWALArchiver: true
|
|
scheduledBackups:
|
|
- name: live-backup
|
|
suspend: false
|
|
immediate: true
|
|
schedule: "0 45 14 * * *"
|
|
backupName: garage-local
|
|
volsync-target-data:
|
|
pvcTarget: jellystat-data
|
|
local:
|
|
enabled: true
|
|
schedule: 28 8 * * *
|
|
remote:
|
|
enabled: true
|
|
schedule: 28 9 * * *
|
|
external:
|
|
enabled: true
|
|
schedule: 28 10 * * *
|