update chart
This commit is contained in:
@@ -31,5 +31,5 @@ dependencies:
|
|||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidarr.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidarr.png
|
||||||
# renovate: github=Lidarr/Lidarr
|
# renovate: github=linuxserver/lidarr
|
||||||
appVersion: 3.1.0
|
appVersion: 3.1.0
|
||||||
|
|||||||
@@ -24,4 +24,5 @@ dependencies:
|
|||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prowlarr.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prowlarr.png
|
||||||
|
# renovate: github=linuxserver/prowlarr
|
||||||
appVersion: 2.3.0
|
appVersion: 2.3.0
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-prowlarr
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-prowlarr
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: traefik-gateway
|
|
||||||
namespace: traefik
|
|
||||||
hostnames:
|
|
||||||
- prowlarr.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: prowlarr
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -37,6 +37,27 @@ prowlarr:
|
|||||||
port: 80
|
port: 80
|
||||||
targetPort: 9696
|
targetPort: 9696
|
||||||
protocol: HTTP
|
protocol: HTTP
|
||||||
|
route:
|
||||||
|
main:
|
||||||
|
kind: HTTPRoute
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- prowlarr.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: prowlarr
|
||||||
|
port: 80
|
||||||
|
weight: 100
|
||||||
|
matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
config:
|
||||||
forceRename: prowlarr-config
|
forceRename: prowlarr-config
|
||||||
|
|||||||
@@ -39,4 +39,5 @@ dependencies:
|
|||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/qbittorrent.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/qbittorrent.png
|
||||||
|
# renovate: github=linuxserver/qbittorrent
|
||||||
appVersion: 5.1.4
|
appVersion: 5.1.4
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-qbittorrent
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-qbittorrent
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: traefik-gateway
|
|
||||||
namespace: traefik
|
|
||||||
hostnames:
|
|
||||||
- qbittorrent.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: qbittorrent
|
|
||||||
port: 8080
|
|
||||||
weight: 100
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-qui
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-qui
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: traefik-gateway
|
|
||||||
namespace: traefik
|
|
||||||
hostnames:
|
|
||||||
- qui.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: qbittorrent-qui
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: qbittorrent
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: qbittorrent
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
endpoints:
|
|
||||||
- port: metrics
|
|
||||||
interval: 30s
|
|
||||||
scrapeTimeout: 15s
|
|
||||||
path: /metrics
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/service: qbittorrent
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: qbittorrent-apprise
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: qbittorrent-apprise
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
endpoints:
|
|
||||||
- port: apprise
|
|
||||||
interval: 30s
|
|
||||||
scrapeTimeout: 15s
|
|
||||||
path: /metrics
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/service: qbittorrent-qbit-manage
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: qbittorrent-qui
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: qbittorrent-qui
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
endpoints:
|
|
||||||
- port: metrics
|
|
||||||
interval: 30s
|
|
||||||
scrapeTimeout: 15s
|
|
||||||
path: /metrics
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/service: qbittorrent-qui
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
@@ -264,6 +264,81 @@ qbittorrent:
|
|||||||
port: 9074
|
port: 9074
|
||||||
targetPort: 9074
|
targetPort: 9074
|
||||||
protocol: HTTP
|
protocol: HTTP
|
||||||
|
serviceMonitor:
|
||||||
|
main:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: qbittorrent
|
||||||
|
app.kubernetes.io/instance: qbittorrent
|
||||||
|
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
interval: 30s
|
||||||
|
scrapeTimeout: 15s
|
||||||
|
path: /metrics
|
||||||
|
apprise:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: qbittorrent-apprise
|
||||||
|
app.kubernetes.io/instance: qbittorrent-apprise
|
||||||
|
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
|
||||||
|
endpoints:
|
||||||
|
- port: apprise
|
||||||
|
interval: 30s
|
||||||
|
scrapeTimeout: 15s
|
||||||
|
path: /metrics
|
||||||
|
qui:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: qbittorrent-qui
|
||||||
|
app.kubernetes.io/instance: qbittorrent-qui
|
||||||
|
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
interval: 30s
|
||||||
|
scrapeTimeout: 15s
|
||||||
|
path: /metrics
|
||||||
|
route:
|
||||||
|
main:
|
||||||
|
kind: HTTPRoute
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- qbittorrent.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: qbittorrent
|
||||||
|
port: 8080
|
||||||
|
weight: 100
|
||||||
|
matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
|
qui:
|
||||||
|
kind: HTTPRoute
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- qui.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: qbittorrent-qui
|
||||||
|
port: 80
|
||||||
|
weight: 100
|
||||||
|
matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
persistence:
|
persistence:
|
||||||
update-script:
|
update-script:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ dependencies:
|
|||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 7.1.4
|
version: 7.4.3
|
||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
digest: sha256:bf34c86694b2e5d3c981b3c988609a7d407b7bf027856d171bd388a278838c6a
|
digest: sha256:74f58fd7e4e5fd5cbe24e807df87bebca5c8736a7933aad7c83bb236096008b5
|
||||||
generated: "2025-12-21T19:05:34.741990728Z"
|
generated: "2025-12-23T23:21:24.369182-06:00"
|
||||||
|
|||||||
@@ -27,11 +27,12 @@ dependencies:
|
|||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-18-cluster
|
alias: postgres-18-cluster
|
||||||
version: 7.1.4
|
version: 7.4.3
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
alias: volsync-target-config
|
alias: volsync-target-config
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-4k.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-4k.png
|
||||||
|
# renovate: github=linuxserver/radarr
|
||||||
appVersion: 6.0.4
|
appVersion: 6.0.4
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: radarr-4k-postgresql-18-cluster-backup-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-4k-postgresql-18-cluster-backup-secret
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: access
|
|
||||||
- secretKey: ACCESS_SECRET_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: secret
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: radarr-4k-postgresql-18-cluster-backup-secret-garage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-4k-postgresql-18-cluster-backup-secret-garage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_KEY_ID
|
|
||||||
- secretKey: ACCESS_SECRET_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_SECRET_KEY
|
|
||||||
- secretKey: ACCESS_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_REGION
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-radarr-4k
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-radarr-4k
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: traefik-gateway
|
|
||||||
namespace: traefik
|
|
||||||
hostnames:
|
|
||||||
- radarr-4k.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: radarr-4k
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: radarr-4k
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-4k
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: radarr-4k
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
endpoints:
|
|
||||||
- port: metrics
|
|
||||||
interval: 3m
|
|
||||||
scrapeTimeout: 1m
|
|
||||||
path: /metrics
|
|
||||||
@@ -61,6 +61,39 @@ radarr-4k:
|
|||||||
port: 9793
|
port: 9793
|
||||||
targetPort: 9793
|
targetPort: 9793
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
serviceMonitor:
|
||||||
|
main:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: radarr-4k
|
||||||
|
app.kubernetes.io/instance: radarr-4k
|
||||||
|
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
interval: 3m
|
||||||
|
scrapeTimeout: 1m
|
||||||
|
path: /metrics
|
||||||
|
route:
|
||||||
|
main:
|
||||||
|
kind: HTTPRoute
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- radarr-4k.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: radarr-4k
|
||||||
|
port: 80
|
||||||
|
weight: 100
|
||||||
|
matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
config:
|
||||||
forceRename: radarr-4k-config
|
forceRename: radarr-4k-config
|
||||||
@@ -86,64 +119,50 @@ radarr-4k:
|
|||||||
postgres-18-cluster:
|
postgres-18-cluster:
|
||||||
mode: recovery
|
mode: recovery
|
||||||
cluster:
|
cluster:
|
||||||
storage:
|
|
||||||
storageClass: local-path
|
|
||||||
walStorage:
|
|
||||||
storageClass: local-path
|
|
||||||
initdb:
|
initdb:
|
||||||
database: app
|
|
||||||
owner: app
|
|
||||||
postInitSQL:
|
postInitSQL:
|
||||||
- CREATE DATABASE IF NOT EXISTS "radarr-main" OWNER "app";
|
- CREATE DATABASE IF NOT EXISTS "radarr-main" OWNER "app";
|
||||||
- CREATE DATABASE IF NOT EXISTS "radarr-log" OWNER "app";
|
- CREATE DATABASE IF NOT EXISTS "radarr-log" OWNER "app";
|
||||||
recovery:
|
recovery:
|
||||||
method: objectStore
|
method: objectStore
|
||||||
objectStore:
|
objectStore:
|
||||||
destinationPath: s3://postgres-backups/cl01tl/radarr-4k/radarr-4k-postgresql-18-cluster
|
|
||||||
endpointURL: http://garage-main.garage:3900
|
|
||||||
index: 1
|
index: 1
|
||||||
endpointCredentials: radarr-4k-postgresql-18-cluster-backup-secret-garage
|
|
||||||
backup:
|
backup:
|
||||||
objectStore:
|
objectStore:
|
||||||
- name: garage-local
|
- name: garage-local
|
||||||
destinationPath: s3://postgres-backups/cl01tl/radarr-4k/radarr-4k-postgresql-18-cluster
|
|
||||||
index: 1
|
index: 1
|
||||||
endpointURL: http://garage-main.garage:3900
|
destinationBucket: postgres-backups
|
||||||
endpointCredentials: radarr-4k-postgresql-18-cluster-backup-secret-garage
|
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
endpointCredentialsIncludeRegion: true
|
|
||||||
retentionPolicy: "3d"
|
|
||||||
isWALArchiver: true
|
isWALArchiver: true
|
||||||
# - name: external
|
|
||||||
# destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr-4k/radarr-4k-postgresql-18-cluster
|
|
||||||
# index: 1
|
|
||||||
# endpointCredentials: radarr-4k-postgresql-18-cluster-backup-secret
|
|
||||||
# retentionPolicy: "30d"
|
|
||||||
# isWALArchiver: false
|
|
||||||
# - name: garage-remote
|
# - name: garage-remote
|
||||||
# destinationPath: s3://postgres-backups/cl01tl/radarr-4k/radarr-4k-postgresql-18-cluster
|
|
||||||
# index: 1
|
# index: 1
|
||||||
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
|
# destinationBucket: postgres-backups
|
||||||
# endpointCredentials: radarr-4k-postgresql-18-cluster-backup-secret-garage
|
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
# retentionPolicy: "30d"
|
# retentionPolicy: "90d"
|
||||||
# data:
|
# data:
|
||||||
# compression: bzip2
|
# compression: bzip2
|
||||||
# jobs: 2
|
# - name: external
|
||||||
|
# index: 1
|
||||||
|
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||||
|
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||||
|
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
|
# isWALArchiver: false
|
||||||
scheduledBackups:
|
scheduledBackups:
|
||||||
- name: live-backup
|
- name: live-backup
|
||||||
suspend: false
|
suspend: false
|
||||||
immediate: true
|
immediate: true
|
||||||
schedule: "0 0 0 * * *"
|
schedule: "0 0 0 * * *"
|
||||||
backupName: garage-local
|
backupName: garage-local
|
||||||
# - name: daily-backup
|
|
||||||
# suspend: false
|
|
||||||
# immediate: true
|
|
||||||
# schedule: "0 0 0 * * *"
|
|
||||||
# backupName: external
|
|
||||||
# - name: weekly-backup
|
# - name: weekly-backup
|
||||||
# suspend: true
|
# suspend: true
|
||||||
# immediate: true
|
# immediate: true
|
||||||
# schedule: "0 0 4 * * SAT"
|
# schedule: "0 0 4 * * SAT"
|
||||||
# backupName: garage-remote
|
# backupName: garage-remote
|
||||||
|
# - name: daily-backup
|
||||||
|
# suspend: true
|
||||||
|
# immediate: true
|
||||||
|
# schedule: "0 0 0 * * *"
|
||||||
|
# backupName: external
|
||||||
volsync-target-config:
|
volsync-target-config:
|
||||||
pvcTarget: radarr-4k-config
|
pvcTarget: radarr-4k-config
|
||||||
moverSecurityContext:
|
moverSecurityContext:
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ dependencies:
|
|||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 7.1.4
|
version: 7.4.3
|
||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
digest: sha256:a14aee2c010e6abead9edf2f001a5bfaa59c5a6a483bbfd237e41ca5072b7927
|
digest: sha256:8455777f6acc2e2722dfbbca78ebcb92be3d9af998c4ae0106b50625732ae71c
|
||||||
generated: "2025-12-21T19:05:52.38126741Z"
|
generated: "2025-12-23T23:24:42.792877-06:00"
|
||||||
|
|||||||
@@ -27,11 +27,12 @@ dependencies:
|
|||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-18-cluster
|
alias: postgres-18-cluster
|
||||||
version: 7.1.4
|
version: 7.4.3
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
alias: volsync-target-config
|
alias: volsync-target-config
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-anime.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-anime.png
|
||||||
|
# renovate: github=linuxserver/radarr
|
||||||
appVersion: 6.0.4
|
appVersion: 6.0.4
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: radarr-anime-postgresql-18-cluster-backup-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-anime-postgresql-18-cluster-backup-secret
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: access
|
|
||||||
- secretKey: ACCESS_SECRET_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: secret
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: radarr-anime-postgresql-18-cluster-backup-secret-garage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-anime-postgresql-18-cluster-backup-secret-garage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_KEY_ID
|
|
||||||
- secretKey: ACCESS_SECRET_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_SECRET_KEY
|
|
||||||
- secretKey: ACCESS_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_REGION
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-radarr-anime
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-radarr-anime
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: traefik-gateway
|
|
||||||
namespace: traefik
|
|
||||||
hostnames:
|
|
||||||
- radarr-anime.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: radarr-anime
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: radarr-anime
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-anime
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: radarr-anime
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
endpoints:
|
|
||||||
- port: metrics
|
|
||||||
interval: 3m
|
|
||||||
scrapeTimeout: 1m
|
|
||||||
path: /metrics
|
|
||||||
@@ -59,6 +59,39 @@ radarr-anime:
|
|||||||
port: 9793
|
port: 9793
|
||||||
targetPort: 9793
|
targetPort: 9793
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
serviceMonitor:
|
||||||
|
main:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: radarr-anime
|
||||||
|
app.kubernetes.io/instance: radarr-anime
|
||||||
|
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
interval: 3m
|
||||||
|
scrapeTimeout: 1m
|
||||||
|
path: /metrics
|
||||||
|
route:
|
||||||
|
main:
|
||||||
|
kind: HTTPRoute
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- radarr-anime.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: radarr-anime
|
||||||
|
port: 80
|
||||||
|
weight: 100
|
||||||
|
matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
config:
|
||||||
forceRename: radarr-anime-config
|
forceRename: radarr-anime-config
|
||||||
@@ -84,64 +117,50 @@ radarr-anime:
|
|||||||
postgres-18-cluster:
|
postgres-18-cluster:
|
||||||
mode: recovery
|
mode: recovery
|
||||||
cluster:
|
cluster:
|
||||||
storage:
|
|
||||||
storageClass: local-path
|
|
||||||
walStorage:
|
|
||||||
storageClass: local-path
|
|
||||||
initdb:
|
initdb:
|
||||||
database: app
|
|
||||||
owner: app
|
|
||||||
postInitSQL:
|
postInitSQL:
|
||||||
- CREATE DATABASE IF NOT EXISTS "radarr-main" OWNER "app";
|
- CREATE DATABASE IF NOT EXISTS "radarr-main" OWNER "app";
|
||||||
- CREATE DATABASE IF NOT EXISTS "radarr-log" OWNER "app";
|
- CREATE DATABASE IF NOT EXISTS "radarr-log" OWNER "app";
|
||||||
recovery:
|
recovery:
|
||||||
method: objectStore
|
method: objectStore
|
||||||
objectStore:
|
objectStore:
|
||||||
destinationPath: s3://postgres-backups/cl01tl/radarr-anime/radarr-anime-postgresql-18-cluster
|
|
||||||
endpointURL: http://garage-main.garage:3900
|
|
||||||
index: 1
|
index: 1
|
||||||
endpointCredentials: radarr-anime-postgresql-18-cluster-backup-secret-garage
|
|
||||||
backup:
|
backup:
|
||||||
objectStore:
|
objectStore:
|
||||||
- name: garage-local
|
- name: garage-local
|
||||||
destinationPath: s3://postgres-backups/cl01tl/radarr-anime/radarr-anime-postgresql-18-cluster
|
|
||||||
index: 1
|
index: 1
|
||||||
endpointURL: http://garage-main.garage:3900
|
destinationBucket: postgres-backups
|
||||||
endpointCredentials: radarr-anime-postgresql-18-cluster-backup-secret-garage
|
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
endpointCredentialsIncludeRegion: true
|
|
||||||
retentionPolicy: "3d"
|
|
||||||
isWALArchiver: true
|
isWALArchiver: true
|
||||||
# - name: external
|
|
||||||
# destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr-anime/radarr-anime-postgresql-18-cluster
|
|
||||||
# index: 1
|
|
||||||
# endpointCredentials: radarr-anime-postgresql-18-cluster-backup-secret
|
|
||||||
# retentionPolicy: "30d"
|
|
||||||
# isWALArchiver: false
|
|
||||||
# - name: garage-remote
|
# - name: garage-remote
|
||||||
# destinationPath: s3://postgres-backups/cl01tl/radarr-anime/radarr-anime-postgresql-18-cluster
|
|
||||||
# index: 1
|
# index: 1
|
||||||
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
|
# destinationBucket: postgres-backups
|
||||||
# endpointCredentials: radarr-anime-postgresql-18-cluster-backup-secret-garage
|
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
# retentionPolicy: "30d"
|
# retentionPolicy: "90d"
|
||||||
# data:
|
# data:
|
||||||
# compression: bzip2
|
# compression: bzip2
|
||||||
# jobs: 2
|
# - name: external
|
||||||
|
# index: 1
|
||||||
|
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||||
|
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||||
|
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
|
# isWALArchiver: false
|
||||||
scheduledBackups:
|
scheduledBackups:
|
||||||
- name: live-backup
|
- name: live-backup
|
||||||
suspend: false
|
suspend: false
|
||||||
immediate: true
|
immediate: true
|
||||||
schedule: "0 0 0 * * *"
|
schedule: "0 0 0 * * *"
|
||||||
backupName: garage-local
|
backupName: garage-local
|
||||||
# - name: daily-backup
|
|
||||||
# suspend: false
|
|
||||||
# immediate: true
|
|
||||||
# schedule: "0 0 0 * * *"
|
|
||||||
# backupName: external
|
|
||||||
# - name: weekly-backup
|
# - name: weekly-backup
|
||||||
# suspend: true
|
# suspend: true
|
||||||
# immediate: true
|
# immediate: true
|
||||||
# schedule: "0 0 4 * * SAT"
|
# schedule: "0 0 4 * * SAT"
|
||||||
# backupName: garage-remote
|
# backupName: garage-remote
|
||||||
|
# - name: daily-backup
|
||||||
|
# suspend: true
|
||||||
|
# immediate: true
|
||||||
|
# schedule: "0 0 0 * * *"
|
||||||
|
# backupName: external
|
||||||
volsync-target-config:
|
volsync-target-config:
|
||||||
pvcTarget: radarr-anime-config
|
pvcTarget: radarr-anime-config
|
||||||
moverSecurityContext:
|
moverSecurityContext:
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ dependencies:
|
|||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 7.1.4
|
version: 7.4.3
|
||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
digest: sha256:64cc2de630bf5fc86c595acd83e8b9e040e740351cf5a7a479d3335534f2bff7
|
digest: sha256:348545782b826d70552bdfe3ce3a99e31884aa52bd853bd565713bc6c151208e
|
||||||
generated: "2025-12-21T19:06:09.914421529Z"
|
generated: "2025-12-23T23:24:54.644016-06:00"
|
||||||
|
|||||||
@@ -26,11 +26,12 @@ dependencies:
|
|||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-18-cluster
|
alias: postgres-18-cluster
|
||||||
version: 7.1.4
|
version: 7.4.3
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
alias: volsync-target-config
|
alias: volsync-target-config
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr.png
|
||||||
|
# renovate: github=linuxserver/radarr
|
||||||
appVersion: 6.0.4
|
appVersion: 6.0.4
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: radarr-standup-postgresql-18-cluster-backup-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-standup-postgresql-18-cluster-backup-secret
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: access
|
|
||||||
- secretKey: ACCESS_SECRET_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: secret
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: radarr-standup-postgresql-18-cluster-backup-secret-garage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-standup-postgresql-18-cluster-backup-secret-garage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_KEY_ID
|
|
||||||
- secretKey: ACCESS_SECRET_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_SECRET_KEY
|
|
||||||
- secretKey: ACCESS_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_REGION
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-radarr-standup
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-radarr-standup
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: traefik-gateway
|
|
||||||
namespace: traefik
|
|
||||||
hostnames:
|
|
||||||
- radarr-standup.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: radarr-standup
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: radarr-standup
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-standup
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: radarr-standup
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
endpoints:
|
|
||||||
- port: metrics
|
|
||||||
interval: 3m
|
|
||||||
scrapeTimeout: 1m
|
|
||||||
path: /metrics
|
|
||||||
@@ -59,6 +59,39 @@ radarr-standup:
|
|||||||
port: 9793
|
port: 9793
|
||||||
targetPort: 9793
|
targetPort: 9793
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
serviceMonitor:
|
||||||
|
main:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: radarr-standup
|
||||||
|
app.kubernetes.io/instance: radarr-standup
|
||||||
|
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
interval: 3m
|
||||||
|
scrapeTimeout: 1m
|
||||||
|
path: /metrics
|
||||||
|
route:
|
||||||
|
main:
|
||||||
|
kind: HTTPRoute
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- radarr-standup.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: radarr-standup
|
||||||
|
port: 80
|
||||||
|
weight: 100
|
||||||
|
matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
config:
|
||||||
forceRename: radarr-standup-config
|
forceRename: radarr-standup-config
|
||||||
@@ -84,64 +117,50 @@ radarr-standup:
|
|||||||
postgres-18-cluster:
|
postgres-18-cluster:
|
||||||
mode: recovery
|
mode: recovery
|
||||||
cluster:
|
cluster:
|
||||||
storage:
|
|
||||||
storageClass: local-path
|
|
||||||
walStorage:
|
|
||||||
storageClass: local-path
|
|
||||||
initdb:
|
initdb:
|
||||||
database: app
|
|
||||||
owner: app
|
|
||||||
postInitSQL:
|
postInitSQL:
|
||||||
- CREATE DATABASE IF NOT EXISTS "radarr-main" OWNER "app";
|
- CREATE DATABASE IF NOT EXISTS "radarr-main" OWNER "app";
|
||||||
- CREATE DATABASE IF NOT EXISTS "radarr-log" OWNER "app";
|
- CREATE DATABASE IF NOT EXISTS "radarr-log" OWNER "app";
|
||||||
recovery:
|
recovery:
|
||||||
method: objectStore
|
method: objectStore
|
||||||
objectStore:
|
objectStore:
|
||||||
destinationPath: s3://postgres-backups/cl01tl/radarr-standup/radarr-standup-postgresql-18-cluster
|
|
||||||
endpointURL: http://garage-main.garage:3900
|
|
||||||
index: 1
|
index: 1
|
||||||
endpointCredentials: radarr-standup-postgresql-18-cluster-backup-secret-garage
|
|
||||||
backup:
|
backup:
|
||||||
objectStore:
|
objectStore:
|
||||||
- name: garage-local
|
- name: garage-local
|
||||||
destinationPath: s3://postgres-backups/cl01tl/radarr-standup/radarr-standup-postgresql-18-cluster
|
|
||||||
index: 1
|
index: 1
|
||||||
endpointURL: http://garage-main.garage:3900
|
destinationBucket: postgres-backups
|
||||||
endpointCredentials: radarr-standup-postgresql-18-cluster-backup-secret-garage
|
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
endpointCredentialsIncludeRegion: true
|
|
||||||
retentionPolicy: "3d"
|
|
||||||
isWALArchiver: true
|
isWALArchiver: true
|
||||||
# - name: external
|
|
||||||
# destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr-standup/radarr-standup-postgresql-18-cluster
|
|
||||||
# index: 1
|
|
||||||
# endpointCredentials: radarr-standup-postgresql-18-cluster-backup-secret
|
|
||||||
# retentionPolicy: "30d"
|
|
||||||
# isWALArchiver: false
|
|
||||||
# - name: garage-remote
|
# - name: garage-remote
|
||||||
# destinationPath: s3://postgres-backups/cl01tl/radarr-standup/radarr-standup-postgresql-18-cluster
|
|
||||||
# index: 1
|
# index: 1
|
||||||
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
|
# destinationBucket: postgres-backups
|
||||||
# endpointCredentials: radarr-standup-postgresql-18-cluster-backup-secret-garage
|
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
# retentionPolicy: "30d"
|
# retentionPolicy: "90d"
|
||||||
# data:
|
# data:
|
||||||
# compression: bzip2
|
# compression: bzip2
|
||||||
# jobs: 2
|
# - name: external
|
||||||
|
# index: 1
|
||||||
|
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||||
|
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||||
|
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
|
# isWALArchiver: false
|
||||||
scheduledBackups:
|
scheduledBackups:
|
||||||
- name: live-backup
|
- name: live-backup
|
||||||
suspend: false
|
suspend: false
|
||||||
immediate: true
|
immediate: true
|
||||||
schedule: "0 0 0 * * *"
|
schedule: "0 0 0 * * *"
|
||||||
backupName: garage-local
|
backupName: garage-local
|
||||||
# - name: daily-backup
|
|
||||||
# suspend: false
|
|
||||||
# immediate: true
|
|
||||||
# schedule: "0 0 0 * * *"
|
|
||||||
# backupName: external
|
|
||||||
# - name: weekly-backup
|
# - name: weekly-backup
|
||||||
# suspend: true
|
# suspend: true
|
||||||
# immediate: true
|
# immediate: true
|
||||||
# schedule: "0 0 4 * * SAT"
|
# schedule: "0 0 4 * * SAT"
|
||||||
# backupName: garage-remote
|
# backupName: garage-remote
|
||||||
|
# - name: daily-backup
|
||||||
|
# suspend: true
|
||||||
|
# immediate: true
|
||||||
|
# schedule: "0 0 0 * * *"
|
||||||
|
# backupName: external
|
||||||
volsync-target-config:
|
volsync-target-config:
|
||||||
pvcTarget: radarr-standup-config
|
pvcTarget: radarr-standup-config
|
||||||
moverSecurityContext:
|
moverSecurityContext:
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ dependencies:
|
|||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 7.1.4
|
version: 7.4.3
|
||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
digest: sha256:c917e448a3ef6c16868c16e9d8a19648ff60524e99670018fc8492fbc3ebba42
|
digest: sha256:021ce2d1194b098abcf38032a2e4e248c44cd7a1255a808789f98118cb150786
|
||||||
generated: "2025-12-21T19:06:25.764698868Z"
|
generated: "2025-12-23T23:21:09.299168-06:00"
|
||||||
|
|||||||
@@ -26,11 +26,12 @@ dependencies:
|
|||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-18-cluster
|
alias: postgres-18-cluster
|
||||||
version: 7.1.4
|
version: 7.4.3
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
alias: volsync-target-config
|
alias: volsync-target-config
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr.png
|
||||||
|
# renovate: github=linuxserver/radarr
|
||||||
appVersion: 6.0.4
|
appVersion: 6.0.4
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: radarr-postgresql-18-cluster-backup-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-postgresql-18-cluster-backup-secret
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: access
|
|
||||||
- secretKey: ACCESS_SECRET_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: secret
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: radarr-postgresql-18-cluster-backup-secret-garage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr-postgresql-18-cluster-backup-secret-garage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_KEY_ID
|
|
||||||
- secretKey: ACCESS_SECRET_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_SECRET_KEY
|
|
||||||
- secretKey: ACCESS_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/postgres-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_REGION
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-radarr
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-radarr
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: traefik-gateway
|
|
||||||
namespace: traefik
|
|
||||||
hostnames:
|
|
||||||
- radarr.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: radarr
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: radarr
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: radarr
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: radarr
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
endpoints:
|
|
||||||
- port: metrics
|
|
||||||
interval: 3m
|
|
||||||
scrapeTimeout: 1m
|
|
||||||
path: /metrics
|
|
||||||
@@ -61,6 +61,39 @@ radarr:
|
|||||||
port: 9793
|
port: 9793
|
||||||
targetPort: 9793
|
targetPort: 9793
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
serviceMonitor:
|
||||||
|
main:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: radarr
|
||||||
|
app.kubernetes.io/instance: radarr
|
||||||
|
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
interval: 3m
|
||||||
|
scrapeTimeout: 1m
|
||||||
|
path: /metrics
|
||||||
|
route:
|
||||||
|
main:
|
||||||
|
kind: HTTPRoute
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- radarr.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: radarr
|
||||||
|
port: 80
|
||||||
|
weight: 100
|
||||||
|
matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
config:
|
||||||
forceRename: radarr-config
|
forceRename: radarr-config
|
||||||
@@ -86,64 +119,50 @@ radarr:
|
|||||||
postgres-18-cluster:
|
postgres-18-cluster:
|
||||||
mode: recovery
|
mode: recovery
|
||||||
cluster:
|
cluster:
|
||||||
storage:
|
|
||||||
storageClass: local-path
|
|
||||||
walStorage:
|
|
||||||
storageClass: local-path
|
|
||||||
initdb:
|
initdb:
|
||||||
database: app
|
|
||||||
owner: app
|
|
||||||
postInitSQL:
|
postInitSQL:
|
||||||
- CREATE DATABASE IF NOT EXISTS "radarr-main" OWNER "app";
|
- CREATE DATABASE IF NOT EXISTS "radarr-main" OWNER "app";
|
||||||
- CREATE DATABASE IF NOT EXISTS "radarr-log" OWNER "app";
|
- CREATE DATABASE IF NOT EXISTS "radarr-log" OWNER "app";
|
||||||
recovery:
|
recovery:
|
||||||
method: objectStore
|
method: objectStore
|
||||||
objectStore:
|
objectStore:
|
||||||
destinationPath: s3://postgres-backups/cl01tl/radarr/radarr-postgresql-18-cluster
|
|
||||||
endpointURL: http://garage-main.garage:3900
|
|
||||||
index: 1
|
index: 1
|
||||||
endpointCredentials: radarr-postgresql-18-cluster-backup-secret-garage
|
|
||||||
backup:
|
backup:
|
||||||
objectStore:
|
objectStore:
|
||||||
- name: garage-local
|
- name: garage-local
|
||||||
destinationPath: s3://postgres-backups/cl01tl/radarr/radarr-postgresql-18-cluster
|
|
||||||
index: 1
|
index: 1
|
||||||
endpointURL: http://garage-main.garage:3900
|
destinationBucket: postgres-backups
|
||||||
endpointCredentials: radarr-postgresql-18-cluster-backup-secret-garage
|
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
endpointCredentialsIncludeRegion: true
|
|
||||||
retentionPolicy: "3d"
|
|
||||||
isWALArchiver: true
|
isWALArchiver: true
|
||||||
# - name: external
|
|
||||||
# destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr/radarr-postgresql-18-cluster
|
|
||||||
# index: 1
|
|
||||||
# endpointCredentials: radarr-postgresql-18-cluster-backup-secret
|
|
||||||
# retentionPolicy: "30d"
|
|
||||||
# isWALArchiver: false
|
|
||||||
# - name: garage-remote
|
# - name: garage-remote
|
||||||
# destinationPath: s3://postgres-backups/cl01tl/radarr/radarr-postgresql-18-cluster
|
|
||||||
# index: 1
|
# index: 1
|
||||||
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
|
# destinationBucket: postgres-backups
|
||||||
# endpointCredentials: radarr-postgresql-18-cluster-backup-secret-garage
|
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
# retentionPolicy: "30d"
|
# retentionPolicy: "90d"
|
||||||
# data:
|
# data:
|
||||||
# compression: bzip2
|
# compression: bzip2
|
||||||
# jobs: 2
|
# - name: external
|
||||||
|
# index: 1
|
||||||
|
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||||
|
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||||
|
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||||
|
# isWALArchiver: false
|
||||||
scheduledBackups:
|
scheduledBackups:
|
||||||
- name: live-backup
|
- name: live-backup
|
||||||
suspend: false
|
suspend: false
|
||||||
immediate: true
|
immediate: true
|
||||||
schedule: "0 0 0 * * *"
|
schedule: "0 0 0 * * *"
|
||||||
backupName: garage-local
|
backupName: garage-local
|
||||||
# - name: daily-backup
|
|
||||||
# suspend: false
|
|
||||||
# immediate: true
|
|
||||||
# schedule: "0 0 0 * * *"
|
|
||||||
# backupName: external
|
|
||||||
# - name: weekly-backup
|
# - name: weekly-backup
|
||||||
# suspend: true
|
# suspend: true
|
||||||
# immediate: true
|
# immediate: true
|
||||||
# schedule: "0 0 4 * * SAT"
|
# schedule: "0 0 4 * * SAT"
|
||||||
# backupName: garage-remote
|
# backupName: garage-remote
|
||||||
|
# - name: daily-backup
|
||||||
|
# suspend: true
|
||||||
|
# immediate: true
|
||||||
|
# schedule: "0 0 0 * * *"
|
||||||
|
# backupName: external
|
||||||
volsync-target-config:
|
volsync-target-config:
|
||||||
pvcTarget: radarr-config
|
pvcTarget: radarr-config
|
||||||
moverSecurityContext:
|
moverSecurityContext:
|
||||||
|
|||||||
Reference in New Issue
Block a user