1 Commits

Author SHA1 Message Date
5e1d6ccc43 chore(deps): update postgres-cluster docker tag to v7.9.1
All checks were successful
lint-test-helm / lint-helm (pull_request) Successful in 26s
2026-03-11 19:58:37 +00:00
127 changed files with 536 additions and 1331 deletions

View File

@@ -81,8 +81,7 @@ volsync-target-data:
enabled: true
schedule: 0 8 * * *
remote:
enabled: true
schedule: 0 9 * * *
enabled: false
external:
enabled: true
schedule: 0 10 * * *
schedule: 0 9 * * *

View File

@@ -1,12 +1,12 @@
dependencies:
- name: argo-workflows
repository: https://argoproj.github.io/argo-helm
version: 0.47.5
version: 0.47.4
- name: argo-events
repository: https://argoproj.github.io/argo-helm
version: 2.4.20
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.9.1
digest: sha256:5b7f498040dd93f99a00c708c80fcefdb64dcdf473cfd3edcf8a94255b80b3b4
generated: "2026-03-12T13:02:52.109982708Z"
digest: sha256:c3f9876ca432887c05eaa87d4e6006dcb8b3a5e654dc976103426a313fde12bc
generated: "2026-03-11T19:45:30.323635754Z"

View File

@@ -18,7 +18,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: argo-workflows
version: 0.47.5
version: 0.47.4
repository: https://argoproj.github.io/argo-helm
- name: argo-events
version: 2.4.20
@@ -29,4 +29,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
# renovate: datasource=github-releases depName=argoproj/argo-workflows
appVersion: v4.0.2
appVersion: v4.0.1

View File

@@ -105,7 +105,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true

View File

@@ -29,4 +29,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png
# renovate: datasource=github-releases depName=advplyr/audiobookshelf
appVersion: 2.33.0
appVersion: 2.32.1

View File

@@ -1,52 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: audiobookshelf-books-nfs-storage
name: audiobookshelf-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: audiobookshelf-books-nfs-storage
app.kubernetes.io/name: audiobookshelf-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
volumeName: audiobookshelf-books-nfs-storage
storageClassName: nfs-client
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: audiobookshelf-audiobooks-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: audiobookshelf-audiobooks-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
volumeName: audiobookshelf-audiobooks-nfs-storage
storageClassName: nfs-client
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: audiobookshelf-podcasts-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: audiobookshelf-podcasts-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
volumeName: audiobookshelf-podcasts-nfs-storage
volumeName: audiobookshelf-nfs-storage
storageClassName: nfs-client
accessModes:
- ReadWriteMany

View File

@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: audiobookshelf-books-nfs-storage
name: audiobookshelf-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: audiobookshelf-books-nfs-storage
app.kubernetes.io/name: audiobookshelf-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -15,57 +15,7 @@ spec:
accessModes:
- ReadWriteMany
nfs:
path: /volume2/Storage/Books
server: synologybond.alexlebens.net
mountOptions:
- vers=4
- minorversion=1
- noac
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: audiobookshelf-audiobooks-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: audiobookshelf-audiobooks-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-client
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
nfs:
path: /volume2/Storage/Audiobooks
server: synologybond.alexlebens.net
mountOptions:
- vers=4
- minorversion=1
- noac
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: audiobookshelf-podcasts-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: audiobookshelf-podcasts-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-client
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
nfs:
path: /volume2/Storage/Podcasts
path: /volume2/Storage
server: synologybond.alexlebens.net
mountOptions:
- vers=4

View File

@@ -9,7 +9,7 @@ audiobookshelf:
main:
image:
repository: ghcr.io/advplyr/audiobookshelf
tag: 2.33.0
tag: 2.32.1
pullPolicy: IfNotPresent
env:
- name: TZ
@@ -114,26 +114,12 @@ audiobookshelf:
main:
- path: /metadata
readOnly: false
books:
existingClaim: audiobookshelf-books-nfs-storage
advancedMounts:
main:
main:
- path: /mnt/store/Books
readOnly: false
audiobooks:
existingClaim: audiobookshelf-audiobooks-nfs-storage
existingClaim: audiobookshelf-nfs-storage
advancedMounts:
main:
main:
- path: /mnt/store/Audiobooks
readOnly: false
podcasts:
existingClaim: audiobookshelf-podcasts-nfs-storage
advancedMounts:
main:
main:
- path: /mnt/store/Podcasts
- path: /mnt/store/
readOnly: false
volsync-target-config:
pvcTarget: audiobookshelf-config
@@ -141,19 +127,17 @@ volsync-target-config:
enabled: true
schedule: 2 8 * * *
remote:
enabled: true
schedule: 2 9 * * *
enabled: false
external:
enabled: true
schedule: 2 10 * * *
schedule: 2 9 * * *
volsync-target-metadata:
pvcTarget: audiobookshelf-metadata
local:
enabled: true
schedule: 4 8 * * *
remote:
enabled: true
schedule: 4 9 * * *
enabled: false
external:
enabled: true
schedule: 4 10 * * *
schedule: 4 9 * * *

View File

@@ -12,4 +12,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0
digest: sha256:abb34b7bb54393236e695453aa1940497cb4def3d3a56a45ca004a22f8e05648
generated: "2026-03-11T22:55:49.936164674Z"
generated: "2026-03-11T19:45:59.220676996Z"

View File

@@ -93,7 +93,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 5 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true

View File

@@ -27,4 +27,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/backrest.png
# renovate: datasource=github-releases depName=garethgeorge/backrest
appVersion: v1.12.1
appVersion: v1.12.0

View File

@@ -8,7 +8,7 @@ backrest:
main:
image:
repository: garethgeorge/backrest
tag: v1.12.1
tag: v1.12.0
pullPolicy: IfNotPresent
env:
- name: TZ
@@ -111,19 +111,17 @@ volsync-target-data:
enabled: true
schedule: 6 8 * * *
remote:
enabled: true
schedule: 6 9 * * *
enabled: false
external:
enabled: true
schedule: 6 10 * * *
schedule: 6 9 * * *
volsync-target-config:
pvcTarget: backrest-config
local:
enabled: true
schedule: 8 8 * * *
remote:
enabled: true
schedule: 8 9 * * *
enabled: false
external:
enabled: true
schedule: 8 10 * * *
schedule: 8 9 * * *

View File

@@ -87,8 +87,7 @@ volsync-target-config:
enabled: true
schedule: 10 8 * * *
remote:
enabled: true
schedule: 10 9 * * *
enabled: false
external:
enabled: true
schedule: 10 10 * * *
schedule: 10 9 * * *

View File

@@ -4,12 +4,12 @@ dependencies:
version: 4.6.2
- name: mariadb-cluster
repository: https://helm.mariadb.com/mariadb-operator
version: 26.3.0
version: 25.10.4
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:e65fa008c652092da5431e9780eb2a87c944298a12e58e432efad61c9e826da5
generated: "2026-03-14T20:55:36.092031974Z"
digest: sha256:d4c7bf75f72f7eab4ad968bf9f55daac9392c9b2df08f8a27c5dc4f8fffb5f57
generated: "2026-03-06T01:06:05.696573273Z"

View File

@@ -18,7 +18,7 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: mariadb-cluster
version: 26.3.0
version: 25.10.4
repository: https://helm.mariadb.com/mariadb-operator
- name: volsync-target
alias: volsync-target-config

View File

@@ -0,0 +1,15 @@
apiVersion: volsync.backube/v1alpha1
kind: ReplicationDestination
metadata:
name: booklore-data-replication-destination
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: booklore-data-replication-destination
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
rsyncTLS:
copyMethod: Direct
accessModes: ["ReadWriteMany"]
destinationPVC: booklore-books-nfs-storage
keySecret: booklore-data-replication-secret

View File

@@ -0,0 +1,17 @@
apiVersion: volsync.backube/v1alpha1
kind: ReplicationSource
metadata:
name: booklore-data-replication-source
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: booklore-data-replication-source
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
sourcePVC: booklore-data
trigger:
schedule: "0 0 * * *"
rsyncTLS:
keySecret: booklore-data-replication-secret
address: volsync-rsync-tls-dst-booklore-data-replication-destination
copyMethod: Snapshot

View File

@@ -225,11 +225,10 @@ volsync-target-config:
enabled: true
schedule: 12 8 * * *
remote:
enabled: true
schedule: 12 9 * * *
enabled: false
external:
enabled: true
schedule: 12 10 * * *
schedule: 12 9 * * *
volsync-target-data:
pvcTarget: booklore-data
local:
@@ -239,11 +238,11 @@ volsync-target-data:
cacheCapacity: 10Gi
remote:
enabled: true
schedule: 14 9 * * *
schedule: 14 10 * * *
restic:
cacheCapacity: 10Gi
external:
enabled: true
schedule: 14 10 * * *
schedule: 14 9 * * *
restic:
cacheCapacity: 10Gi

View File

@@ -9,7 +9,7 @@ code-server:
main:
image:
repository: ghcr.io/linuxserver/code-server
tag: 4.111.0@sha256:12c04b41f601604795562ece2ac64cade7cfca632415f4bfb1742477e3226272
tag: 4.110.0@sha256:8473aa16fba93fccc3ca772173d095bccd2e44d4d3104467fee923df10d57cd2
pullPolicy: IfNotPresent
env:
- name: TZ
@@ -79,8 +79,7 @@ volsync-target-config:
enabled: true
schedule: 16 8 * * *
remote:
enabled: true
schedule: 16 9 * * *
enabled: false
external:
enabled: true
schedule: 16 10 * * *
schedule: 16 9 * * *

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0
digest: sha256:9524709cf393c01f28b0d073ef6870a2f1afd46f3bc5f564e73c55450aba8dd0
generated: "2026-03-11T22:56:11.749729235Z"
generated: "2026-03-11T19:46:22.765891469Z"

View File

@@ -26,4 +26,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/dawarich.png
# renovate: datasource=github-releases depName=Freika/dawarich
appVersion: 1.3.3
appVersion: 1.3.2

View File

@@ -9,7 +9,7 @@ dawarich:
main:
image:
repository: freikin/dawarich
tag: 1.3.3
tag: 1.3.2
pullPolicy: IfNotPresent
command: ["web-entrypoint.sh"]
args: ["bin/rails", "server", "-p", "3000", "-b", "::"]
@@ -106,7 +106,7 @@ dawarich:
sidekiq:
image:
repository: freikin/dawarich
tag: 1.3.3
tag: 1.3.2
pullPolicy: IfNotPresent
command: ["sidekiq-entrypoint.sh"]
args: ["sidekiq"]
@@ -330,7 +330,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 10 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0
digest: sha256:0b50b4938669a7210930d6ee86a9602611b54cd13774f3386dbad04b4771e7f4
generated: "2026-03-11T22:56:26.818980186Z"
generated: "2026-03-11T19:46:45.954286555Z"

View File

@@ -31,4 +31,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/directus.png
# renovate: datasource=github-releases depName=directus/directus
appVersion: 11.16.1
appVersion: 11.16.0

View File

@@ -94,43 +94,6 @@ spec:
metadataPolicy: None
property: metric-token
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: directus-bucket-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: directus-bucket-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/directus-assets
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/directus-assets
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/directus-assets
metadataPolicy: None
property: ACCESS_REGION
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret

View File

@@ -0,0 +1,11 @@
apiVersion: objectbucket.io/v1alpha1
kind: ObjectBucketClaim
metadata:
name: ceph-bucket-directus
labels:
app.kubernetes.io/name: ceph-bucket-directus
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
generateBucketName: bucket-directus
storageClassName: ceph-bucket

View File

@@ -9,7 +9,7 @@ directus:
main:
image:
repository: directus/directus
tag: 11.16.1
tag: 11.16.0
pullPolicy: IfNotPresent
env:
- name: PUBLIC_URL
@@ -90,22 +90,22 @@ directus:
- name: STORAGE_S3_KEY
valueFrom:
secretKeyRef:
name: directus-bucket-garage
key: ACCESS_KEY_ID
name: ceph-bucket-directus
key: AWS_ACCESS_KEY_ID
- name: STORAGE_S3_SECRET
valueFrom:
secretKeyRef:
name: directus-bucket-garage
key: ACCESS_SECRET_KEY
- name: STORAGE_S3_REGION
valueFrom:
secretKeyRef:
name: directus-bucket-garage
key: ACCESS_REGION
name: ceph-bucket-directus
key: AWS_SECRET_ACCESS_KEY
- name: STORAGE_S3_BUCKET
value: directus-assets
valueFrom:
configMapKeyRef:
name: ceph-bucket-directus
key: BUCKET_NAME
- name: STORAGE_S3_REGION
value: us-east-1
- name: STORAGE_S3_ENDPOINT
value: http://garage-main.garage:3900
value: http://rook-ceph-rgw-ceph-objectstore.rook-ceph.svc:80
- name: STORAGE_S3_FORCE_PATH_STYLE
value: true
- name: AUTH_PROVIDERS
@@ -219,7 +219,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 15 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true

View File

@@ -12,4 +12,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:a3703e245881145524304af8a03c89d309c602479be3f7f8953c2fba120bf341
generated: "2026-03-11T22:56:41.856429843Z"
generated: "2026-03-11T19:47:11.102612498Z"

View File

@@ -222,7 +222,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 20 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -250,8 +250,7 @@ volsync-target-data:
enabled: true
schedule: 18 8 * * *
remote:
enabled: true
schedule: 18 9 * * *
enabled: false
external:
enabled: true
schedule: 18 10 * * *
schedule: 18 9 * * *

View File

@@ -302,8 +302,8 @@ garage:
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
endpoints:
- port: admin
interval: 5m
scrapeTimeout: 2m
interval: 1m
scrapeTimeout: 30s
path: /metrics
bearerTokenSecret:
name: garage-token-secret

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:2fe7c088e99a11e0c6dd09fe48bb1e292eb58e22d9f8ff681bb6c6790945d54e
generated: "2026-03-11T22:56:56.957400817Z"
generated: "2026-03-11T19:47:37.972300799Z"

View File

@@ -430,7 +430,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 25 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -446,10 +446,9 @@ volsync-target-data:
pvcTarget: gatus
local:
enabled: true
schedule: 20 8 * * *
schedule: 22 8 * * *
remote:
enabled: true
schedule: 20 9 * * *
enabled: false
external:
enabled: true
schedule: 20 10 * * *
schedule: 22 9 * * *

View File

@@ -24,4 +24,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:8f243465537fe443e97a8813e23e95d3608a6a2898b93209d03cf43f4ca8cc5d
generated: "2026-03-11T22:57:17.026946319Z"
generated: "2026-03-11T19:48:03.507859541Z"

View File

@@ -56,4 +56,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/gitea.png
# renovate: datasource=github-releases depName=go-gitea/gitea
appVersion: 1.25.5
appVersion: 1.25.4

View File

@@ -4,7 +4,7 @@ gitea:
replicaCount: 3
image:
repository: gitea/gitea
tag: 1.25.5
tag: 1.25.4
service:
http:
type: ClusterIP
@@ -222,7 +222,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 7 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -259,7 +259,7 @@ volsync-target-storage:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 0 0 7 * * *
schedule: 0 0 0 * * *
restic:
pruneIntervalDays: 3
retain:

View File

@@ -1,7 +1,7 @@
dependencies:
- name: grafana-operator
repository: https://grafana.github.io/helm-charts
version: 5.22.1
version: 5.22.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.9.1
@@ -11,5 +11,5 @@ dependencies:
- name: valkey
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0
digest: sha256:932d9b24ad52ab2a28311f522714ecbad2bedea512ce48d26fcb95cc74b51af9
generated: "2026-03-14T19:50:53.708173087Z"
digest: sha256:45cdb638fe815c3fc9703626b902d0f69ed8ffd0625e0f95bd7b33682126433b
generated: "2026-03-11T19:48:42.239808425Z"

View File

@@ -17,7 +17,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: grafana-operator
version: 5.22.1
version: 5.22.0
repository: https://grafana.github.io/helm-charts
- name: postgres-cluster
alias: postgres-18-cluster
@@ -33,4 +33,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/grafana.png
# renovate: datasource=github-releases depName=grafana/grafana-operator
appVersion: v5.22.1
appVersion: v5.22.0

View File

@@ -42,7 +42,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 30 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0
digest: sha256:898f51eabee5959b9e7ebe90640cb915cb2dee446e6a6649a29499fecab8b6c7
generated: "2026-03-11T22:58:00.955579445Z"
generated: "2026-03-11T19:49:08.30994535Z"

View File

@@ -126,7 +126,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 35 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true

View File

@@ -1,6 +1,6 @@
dependencies:
- name: headlamp
repository: https://kubernetes-sigs.github.io/headlamp/
version: 0.40.1
digest: sha256:723a57d6fe86a124b8bae7dfc1dde0c2abd60021837826b486054df00551dc03
generated: "2026-03-14T15:02:53.184950913Z"
version: 0.40.0
digest: sha256:b7f8f176f8c4902130e87660adb39211fd5ca454f89f5a7e9ed577cd4c3a2255
generated: "2026-02-05T18:23:45.100522813Z"

View File

@@ -14,7 +14,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: headlamp
version: 0.40.1
version: 0.40.0
repository: https://kubernetes-sigs.github.io/headlamp/
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/headlamp.png
# renovate: datasource=github-releases depName=headlamp-k8s/headlamp

View File

@@ -8,8 +8,6 @@ headlamp:
enabled: true
name: headlamp-oidc-secret
watchPlugins: true
# Bypasses: https://github.com/kubernetes-sigs/headlamp/issues/4883
sessionTTL: null
resources:
requests:
cpu: 10m

View File

@@ -21,7 +21,7 @@ home-assistant:
code-server:
image:
repository: ghcr.io/linuxserver/code-server
tag: 4.111.0@sha256:12c04b41f601604795562ece2ac64cade7cfca632415f4bfb1742477e3226272
tag: 4.110.0@sha256:8473aa16fba93fccc3ca772173d095bccd2e44d4d3104467fee923df10d57cd2
pullPolicy: IfNotPresent
env:
- name: TZ
@@ -134,10 +134,9 @@ volsync-target-config:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 22 8 * * *
schedule: 24 8 * * *
remote:
enabled: true
schedule: 22 9 * * *
enabled: false
external:
enabled: true
schedule: 22 10 * * *
schedule: 24 9 * * *

View File

@@ -19,4 +19,4 @@ dependencies:
version: 4.6.2
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/homepage.png
# renovate: datasource=github-releases depName=gethomepage/homepage
appVersion: v1.11.0
appVersion: v1.10.1

View File

@@ -16,7 +16,7 @@ homepage:
main:
image:
repository: ghcr.io/gethomepage/homepage
tag: v1.11.0
tag: v1.10.1
pullPolicy: IfNotPresent
env:
- name: HOMEPAGE_ALLOWED_HOSTS

View File

@@ -12,4 +12,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:b886b0a1555ea75fbff52a58ccbf1659acbda20e933107bcbab9b00192aa25bd
generated: "2026-03-11T22:58:20.294240859Z"
generated: "2026-03-11T19:49:40.484890669Z"

View File

@@ -209,7 +209,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 40 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -225,16 +225,16 @@ volsync-target-data:
pvcTarget: immich
local:
enabled: true
schedule: 24 8 * * *
schedule: 28 8 * * *
restic:
cacheCapacity: 10Gi
remote:
enabled: true
schedule: 24 9 * * *
schedule: 28 10 * * *
restic:
cacheCapacity: 10Gi
external:
enabled: true
schedule: 24 10 * * *
schedule: 28 9 * * *
restic:
cacheCapacity: 10Gi

View File

@@ -143,16 +143,14 @@ volsync-target-config:
pvcTarget: jellyfin-config
local:
enabled: true
schedule: 26 8 * * *
schedule: 30 8 * * *
restic:
cacheCapacity: 10Gi
remote:
enabled: true
schedule: 26 9 * * *
restic:
cacheCapacity: 10Gi
external:
enabled: true
schedule: 26 10 * * *
schedule: 30 9 * * *
restic:
cacheCapacity: 10Gi

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:29b92b08c230d5f3abc13949b299acccd1e9f8ff7df1f691a5dec41df5405595
generated: "2026-03-11T22:58:35.766813121Z"
generated: "2026-03-11T19:50:04.747637143Z"

View File

@@ -129,7 +129,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 45 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -145,10 +145,9 @@ volsync-target-data:
pvcTarget: jellystat-data
local:
enabled: true
schedule: 28 8 * * *
schedule: 32 8 * * *
remote:
enabled: true
schedule: 28 9 * * *
enabled: false
external:
enabled: true
schedule: 28 10 * * *
schedule: 32 9 * * *

View File

@@ -57,43 +57,6 @@ spec:
metadataPolicy: None
property: secret
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: karakeep-bucket-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: karakeep-bucket-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/karakeep-assets
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/karakeep-assets
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/karakeep-assets
metadataPolicy: None
property: ACCESS_REGION
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret

View File

@@ -0,0 +1,11 @@
apiVersion: objectbucket.io/v1alpha1
kind: ObjectBucketClaim
metadata:
name: ceph-bucket-karakeep
labels:
app.kubernetes.io/name: ceph-bucket-karakeep
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
generateBucketName: bucket-karakeep
storageClassName: ceph-bucket

View File

@@ -29,24 +29,24 @@ karakeep:
name: karakeep-key-secret
key: prometheus-token
- name: ASSET_STORE_S3_ENDPOINT
value: http://garage-main.garage:3900
value: http://rook-ceph-rgw-ceph-objectstore.rook-ceph.svc:80
- name: ASSET_STORE_S3_REGION
valueFrom:
secretKeyRef:
name: karakeep-bucket-garage
key: ACCESS_REGION
value: us-east-1
- name: ASSET_STORE_S3_BUCKET
value: karakeep-assets
valueFrom:
configMapKeyRef:
name: ceph-bucket-karakeep
key: BUCKET_NAME
- name: ASSET_STORE_S3_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: karakeep-bucket-garage
key: ACCESS_KEY_ID
name: ceph-bucket-karakeep
key: AWS_ACCESS_KEY_ID
- name: ASSET_STORE_S3_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: karakeep-bucket-garage
key: ACCESS_SECRET_KEY
name: ceph-bucket-karakeep
key: AWS_SECRET_ACCESS_KEY
- name: ASSET_STORE_S3_FORCE_PATH_STYLE
value: true
- name: MEILI_ADDR
@@ -172,10 +172,9 @@ volsync-target-data:
pvcTarget: karakeep
local:
enabled: true
schedule: 30 8 * * *
schedule: 34 8 * * *
remote:
enabled: true
schedule: 30 9 * * *
enabled: false
external:
enabled: true
schedule: 30 10 * * *
schedule: 34 9 * * *

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.9.1
digest: sha256:833a88f82c14f78d63abea99244f2473bee2f5124a533a898a34844956f62b27
generated: "2026-03-11T22:58:51.287064579Z"
generated: "2026-03-11T19:50:29.242256018Z"

View File

@@ -230,7 +230,7 @@ postgresql-17-fdb-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 50 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true

View File

@@ -24,4 +24,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/libation.png
# renovate: datasource=github-releases depName=rmcrackan/Libation
appVersion: 13.3.0
appVersion: 13.2.1

View File

@@ -16,7 +16,7 @@ libation:
main:
image:
repository: rmcrackan/libation
tag: 13.3.0
tag: 13.2.1
pullPolicy: IfNotPresent
env:
- name: SLEEP_TIME
@@ -75,10 +75,9 @@ volsync-target-config:
pvcTarget: libation
local:
enabled: true
schedule: 32 8 * * *
schedule: 36 8 * * *
remote:
enabled: true
schedule: 32 9 * * *
enabled: false
external:
enabled: true
schedule: 32 10 * * *
schedule: 36 9 * * *

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:d43b95fa1fc70c93541b9d73180406b31059c6cc45aa57a0cc8d9386c64833c3
generated: "2026-03-11T22:59:07.151659257Z"
generated: "2026-03-11T19:50:53.692632268Z"

View File

@@ -167,7 +167,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 55 14 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -188,10 +188,9 @@ volsync-target-config:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 34 8 * * *
schedule: 38 8 * * *
remote:
enabled: true
schedule: 34 9 * * *
enabled: false
external:
enabled: true
schedule: 34 10 * * *
schedule: 38 9 * * *

View File

@@ -1,9 +1,9 @@
dependencies:
- name: loki
repository: https://grafana.github.io/helm-charts
version: 6.55.0
version: 6.53.0
- name: alloy
repository: https://grafana.github.io/helm-charts
version: 1.6.2
digest: sha256:463184dc134143723f8567a1ebd228353cf0253a139f0a4e76637ec65aa4aaf1
generated: "2026-03-14T18:16:47.779817047Z"
digest: sha256:88b8ace6bcbcbff4b04727499705fbe94de7fe4b8f0b8aa254a1e7d1d2c65fac
generated: "2026-03-10T18:56:19.38475079Z"

View File

@@ -16,7 +16,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: loki
version: 6.55.0
version: 6.53.0
repository: https://grafana.github.io/helm-charts
- name: alloy
version: 1.6.2

View File

@@ -4,6 +4,6 @@ dependencies:
version: 25.10.4
- name: mariadb-operator-crds
repository: https://helm.mariadb.com/mariadb-operator
version: 26.3.0
digest: sha256:a159f646b8f7501cc5285a508e21dcc96ced71722a3c911b1ee0c73ef7fc0e3a
generated: "2026-03-14T18:39:29.639188669Z"
version: 25.10.4
digest: sha256:fcb4433060885746dd43a5fb4d8b32163d50d97dc4614fbf4c82f966a1723304
generated: "2026-01-08T21:21:13.446114122Z"

View File

@@ -18,7 +18,7 @@ dependencies:
version: 25.10.4
repository: https://helm.mariadb.com/mariadb-operator
- name: mariadb-operator-crds
version: 26.3.0
version: 25.10.4
repository: https://helm.mariadb.com/mariadb-operator
icon: https://mariadb-operator.github.io/mariadb-operator/assets/mariadb_profile.svg
# renovate: datasource=github-releases depName=mariadb-operator/mariadb-operator

View File

@@ -1,7 +1,7 @@
dependencies:
- name: matrix-synapse
repository: https://ananace.gitlab.io/charts
version: 3.12.23
version: 3.12.22
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
@@ -38,5 +38,5 @@ dependencies:
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:fb87880d3de281064519117d8046d7de14f41450ec8ff8c3c603f0179004768e
generated: "2026-03-12T11:03:45.232564538Z"
digest: sha256:3b61539bbe5efd66392178ded30fc80f23ca1bb54c1e552ab183037e478ad2a0
generated: "2026-03-11T19:51:20.302445299Z"

View File

@@ -29,7 +29,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: matrix-synapse
version: 3.12.23
version: 3.12.22
repository: https://ananace.gitlab.io/charts
- name: app-template
alias: matrix-hookshot
@@ -81,4 +81,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/matrix.png
# renovate: datasource=github-releases depName=element-hq/synapse
appVersion: v1.149.1
appVersion: v1.149.0

View File

@@ -434,7 +434,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -470,24 +470,22 @@ volsync-target-synapse:
pvcTarget: matrix-synapse
local:
enabled: true
schedule: 36 8 * * *
schedule: 44 8 * * *
remote:
enabled: true
schedule: 36 9 * * *
enabled: false
external:
enabled: true
schedule: 36 10 * * *
schedule: 44 9 * * *
volsync-target-hookshot:
pvcTarget: matrix-hookshot
local:
enabled: true
schedule: 38 8 * * *
schedule: 46 8 * * *
remote:
enabled: true
schedule: 38 9 * * *
enabled: false
external:
enabled: true
schedule: 38 10 * * *
schedule: 46 9 * * *
volsync-target-discord:
pvcTarget: mautrix-discord
moverSecurityContext:
@@ -495,13 +493,12 @@ volsync-target-discord:
runAsGroup: 1337
local:
enabled: true
schedule: 40 8 * * *
schedule: 48 8 * * *
remote:
enabled: true
schedule: 40 9 * * *
enabled: false
external:
enabled: true
schedule: 40 10 * * *
schedule: 48 9 * * *
volsync-target-whatsapp:
pvcTarget: mautrix-whatsapp
moverSecurityContext:
@@ -509,10 +506,9 @@ volsync-target-whatsapp:
runAsGroup: 1337
local:
enabled: true
schedule: 42 8 * * *
schedule: 50 8 * * *
remote:
enabled: true
schedule: 42 9 * * *
enabled: false
external:
enabled: true
schedule: 42 10 * * *
schedule: 50 9 * * *

View File

@@ -119,10 +119,9 @@ volsync-target-data:
pvcTarget: movie-roulette-data
local:
enabled: true
schedule: 44 8 * * *
schedule: 44 11 * * *
remote:
enabled: true
schedule: 44 9 * * *
enabled: false
external:
enabled: true
schedule: 44 10 * * *
schedule: 44 12 * * *

View File

@@ -9,7 +9,7 @@ music-grabber:
main:
image:
repository: g33kphr33k/musicgrabber
tag: 2.4.3
tag: 2.3.5
pullPolicy: IfNotPresent
env:
- name: MUSIC_DIR

View File

@@ -178,10 +178,9 @@ volsync-target-data:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 46 8 * * *
schedule: 52 8 * * *
remote:
enabled: true
schedule: 46 9 * * *
enabled: false
external:
enabled: true
schedule: 46 10 * * *
schedule: 52 9 * * *

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:a3201fc53ddfbaeb5a81d08e9d20135fb59174879e20f0b4986b1b8540011e03
generated: "2026-03-11T22:59:44.389634096Z"
generated: "2026-03-11T19:51:56.211240798Z"

View File

@@ -31,4 +31,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ollama.png
# renovate: datasource=github-releases depName=ollama/ollama
appVersion: 0.18.0
appVersion: 0.17.7

View File

@@ -22,7 +22,7 @@ ollama:
main:
image:
repository: ollama/ollama
tag: 0.18.0
tag: 0.17.7
pullPolicy: IfNotPresent
env:
- name: OLLAMA_KEEP_ALIVE
@@ -58,7 +58,7 @@ ollama:
main:
image:
repository: ollama/ollama
tag: 0.18.0
tag: 0.17.7
pullPolicy: IfNotPresent
env:
- name: OLLAMA_KEEP_ALIVE
@@ -94,7 +94,7 @@ ollama:
main:
image:
repository: ollama/ollama
tag: 0.18.0
tag: 0.17.7
pullPolicy: IfNotPresent
env:
- name: OLLAMA_KEEP_ALIVE
@@ -289,7 +289,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 5 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -308,10 +308,9 @@ volsync-target-data:
runAsGroup: 1337
local:
enabled: true
schedule: 48 8 * * *
schedule: 54 8 * * *
remote:
enabled: true
schedule: 48 9 * * *
enabled: false
external:
enabled: true
schedule: 48 10 * * *
schedule: 54 9 * * *

View File

@@ -11,8 +11,5 @@ dependencies:
- name: valkey
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:1f2e4e46e3ae2985ff3e7708c7d75a36f506f0402e02921d95f797ea0403db93
generated: "2026-03-11T23:00:00.871137498Z"
digest: sha256:f1c3d6256c972a77b322e5717250332bee58345a123e691644b327b243fc14ca
generated: "2026-03-11T19:52:21.721551002Z"

View File

@@ -33,10 +33,6 @@ dependencies:
alias: valkey
version: 0.4.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target
alias: volsync-target-data
version: 0.8.0
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/outline.png
# renovate: datasource=github-releases depName=outline/outline
appVersion: 1.5.0

View File

@@ -0,0 +1,30 @@
apiVersion: objectbucket.io/v1alpha1
kind: ObjectBucketClaim
metadata:
name: ceph-bucket-outline
labels:
app.kubernetes.io/name: ceph-bucket-outline
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
generateBucketName: bucket-outline
storageClassName: ceph-bucket
# additionalConfig:
# bucketPolicy: |
# {
# "Version": "2012-10-17",
# "Statement": [
# {
# "Sid": "VisualEditor",
# "Effect": "Allow",
# "Action": [
# "s3:GetObjectAcl",
# "s3:DeleteObject",
# "s3:PutObject",
# "s3:GetObject",
# "s3:PutObjectAcl"
# ],
# "Resource": "arn:aws:s3:::bucket-outline-630c57e0-d475-4d78-926c-c1c082291d73/*"
# }
# ]
# }

View File

@@ -5,9 +5,6 @@ outline:
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
pod:
securityContext:
fsGroup: 1001
containers:
main:
image:
@@ -69,7 +66,30 @@ outline:
- name: REDIS_URL
value: redis://outline-valkey.outline:6379
- name: FILE_STORAGE
value: local
value: s3
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: ceph-bucket-outline
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: ceph-bucket-outline
key: AWS_SECRET_ACCESS_KEY
- name: AWS_REGION
value: us-east-1
- name: AWS_S3_UPLOAD_BUCKET_NAME
valueFrom:
configMapKeyRef:
name: ceph-bucket-outline
key: BUCKET_NAME
- name: AWS_S3_UPLOAD_BUCKET_URL
value: https://objects.alexlebens.dev
- name: AWS_S3_FORCE_PATH_STYLE
value: true
- name: AWS_S3_ACL
value: private
- name: FILE_STORAGE_UPLOAD_MAX_SIZE
value: "26214400"
- name: FORCE_HTTPS
@@ -122,18 +142,6 @@ outline:
port: 3000
targetPort: 3000
protocol: HTTP
persistence:
data:
forceRename: outline-data
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 5Gi
retain: true
advancedMounts:
main:
main:
- path: /var/lib/outline/data
readOnly: false
postgres-18-cluster:
mode: recovery
recovery:
@@ -164,7 +172,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 10 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -176,16 +184,3 @@ postgres-18-cluster:
# immediate: true
# schedule: "0 0 0 * * *"
# backupName: external
volsync-target-data:
pvcTarget: outline-data
moverSecurityContext:
fsGroup: 1001
local:
enabled: true
schedule: 50 8 * * *
remote:
enabled: true
schedule: 50 9 * * *
external:
enabled: true
schedule: 50 10 * * *

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.9.1
digest: sha256:e9b0673f31b8309beb326635e784964c41bafc10f3bde7eb17ea316d83076854
generated: "2026-03-11T23:00:19.541959816Z"
generated: "2026-03-11T19:52:46.779287852Z"

View File

@@ -123,7 +123,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 15 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true

View File

@@ -18,4 +18,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:cf9b71f29450c69550b0f59d792193788f9dd7ffa2c623db27eb423c0f6e3109
generated: "2026-03-11T23:00:37.739141183Z"
generated: "2026-03-11T19:53:10.800240381Z"

View File

@@ -155,7 +155,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 20 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -181,21 +181,19 @@ volsync-target-config:
pvcTarget: postiz-config
local:
enabled: true
schedule: 52 8 * * *
schedule: 56 8 * * *
remote:
enabled: true
schedule: 52 9 * * *
enabled: false
external:
enabled: true
schedule: 52 10 * * *
schedule: 56 9 * * *
volsync-target-upload:
pvcTarget: postiz-uploads
local:
enabled: true
schedule: 54 8 * * *
schedule: 58 8 * * *
remote:
enabled: true
schedule: 54 9 * * *
enabled: false
external:
enabled: true
schedule: 54 10 * * *
schedule: 58 9 * * *

View File

@@ -84,10 +84,9 @@ volsync-target-config:
- 65539
local:
enabled: true
schedule: 56 8 * * *
schedule: 0 11 * * *
remote:
enabled: true
schedule: 56 9 * * *
enabled: false
external:
enabled: true
schedule: 56 10 * * *
schedule: 0 12 * * *

View File

@@ -452,21 +452,19 @@ volsync-target-config:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 58 8 * * *
schedule: 2 11 * * *
restic:
copyMethod: Snapshot
storageClassName: ceph-filesystem
volumeSnapshotClassName: ceph-filesystem-snapshot
remote:
enabled: true
schedule: 58 9 * * *
restic:
copyMethod: Snapshot
storageClassName: ceph-filesystem
volumeSnapshotClassName: ceph-filesystem-snapshot
external:
enabled: true
schedule: 58 10 * * *
schedule: 2 12 * * *
restic:
copyMethod: Snapshot
storageClassName: ceph-filesystem
@@ -475,21 +473,19 @@ volsync-target-qbit-manage-config:
pvcTarget: qbittorrent-qbit-manage-config-data
local:
enabled: true
schedule: 0 11 * * *
schedule: 4 11 * * *
remote:
enabled: true
schedule: 0 12 * * *
enabled: false
external:
enabled: true
schedule: 0 13 * * *
schedule: 4 12 * * *
volsync-target-qui-config:
pvcTarget: qbittorrent-qui-config-data
local:
enabled: true
schedule: 2 11 * * *
schedule: 6 11 * * *
remote:
enabled: true
schedule: 2 12 * * *
enabled: false
external:
enabled: true
schedule: 2 13 * * *
schedule: 6 12 * * *

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:7e873c90668a70b423efb04d4f2683d25022e8982248ba32a8e5820e323f9b7d
generated: "2026-03-11T23:00:55.780623797Z"
generated: "2026-03-11T19:53:38.222481348Z"

View File

@@ -167,7 +167,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 30 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -188,10 +188,9 @@ volsync-target-config:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 6 11 * * *
schedule: 10 11 * * *
remote:
enabled: true
schedule: 6 12 * * *
enabled: false
external:
enabled: true
schedule: 6 13 * * *
schedule: 10 12 * * *

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:0a7ae6aa3062beedc4b4bcba61edb9f70d441dab0146e5b9559583fa12a319a8
generated: "2026-03-11T23:01:12.399079707Z"
generated: "2026-03-11T19:54:02.909677454Z"

View File

@@ -165,7 +165,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 30 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -186,10 +186,9 @@ volsync-target-config:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 8 11 * * *
schedule: 12 11 * * *
remote:
enabled: true
schedule: 8 12 * * *
enabled: false
external:
enabled: true
schedule: 8 13 * * *
schedule: 12 12 * * *

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:600685215060deb3d8bb6530fa0df437c0ed3d9d6bad2792cedcce959207c7e6
generated: "2026-03-11T23:01:28.449666027Z"
generated: "2026-03-11T19:54:28.303982643Z"

View File

@@ -165,7 +165,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 35 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -186,10 +186,9 @@ volsync-target-config:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 10 11 * * *
schedule: 14 11 * * *
remote:
enabled: true
schedule: 10 12 * * *
enabled: false
external:
enabled: true
schedule: 10 13 * * *
schedule: 14 12 * * *

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:fdad6659ae4ef46c46d62b4213d7fcf85dbb478809e094bbe7de4a86a98589f2
generated: "2026-03-11T23:01:46.420629722Z"
generated: "2026-03-11T19:54:51.794444165Z"

View File

@@ -167,7 +167,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 25 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -188,10 +188,9 @@ volsync-target-config:
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 4 11 * * *
schedule: 8 11 * * *
remote:
enabled: true
schedule: 4 12 * * *
enabled: false
external:
enabled: true
schedule: 4 13 * * *
schedule: 8 12 * * *

View File

@@ -1,6 +0,0 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
digest: sha256:8ed5a7025cbfee661770c4f525b6e1376f412114a7ab88cea1ab1de538eea500
generated: "2026-03-11T18:19:57.681245-05:00"

View File

@@ -1,23 +0,0 @@
apiVersion: v2
name: rclone
version: 1.0.0
description: Rclone
keywords:
- rclone
- job
- kubernetes
home: https://wiki.alexlebens.dev/s/
sources:
- https://github.com/rclone/rclone
- https://hub.docker.com/r/rclone/rclone
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
maintainers:
- name: alexlebens
dependencies:
- name: app-template
alias: rclone
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rclone.webp
# renovate: datasource=github-releases depName=rclone/rclone
appVersion: v1.73.2

View File

@@ -1,253 +0,0 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: garage-directus-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: garage-directus-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: /garage/home-infra/directus-assets
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/directus-assets
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/directus-assets
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: SRC_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/local
metadataPolicy: None
property: ENDPOINT
- secretKey: DEST_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/remote
metadataPolicy: None
property: ENDPOINT
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: garage-karakeep-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: garage-karakeep-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: /garage/home-infra/karakeep-assets
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/karakeep-assets
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/karakeep-assets
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: SRC_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/local
metadataPolicy: None
property: ENDPOINT
- secretKey: DEST_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/remote
metadataPolicy: None
property: ENDPOINT
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: garage-talos-backups-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: garage-talos-backups-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: /garage/home-infra/talos-backups
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: SRC_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/local
metadataPolicy: None
property: ENDPOINT
- secretKey: DEST_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/remote
metadataPolicy: None
property: ENDPOINT
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: garage-web-assets-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: garage-web-assets-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: /garage/home-infra/web-assets
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/web-assets
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/web-assets
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: SRC_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/local
metadataPolicy: None
property: ENDPOINT
- secretKey: DEST_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/remote
metadataPolicy: None
property: ENDPOINT
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: garage-postgres-backups-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: garage-postgres-backups-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: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: SRC_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/local
metadataPolicy: None
property: ENDPOINT
- secretKey: DEST_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/remote
metadataPolicy: None
property: ENDPOINT

View File

@@ -1,505 +0,0 @@
rclone:
controllers:
directus-assets:
type: cronjob
cronjob:
suspend: false
concurrencyPolicy: Forbid
timeZone: US/Central
schedule: "0 0 * * *"
startingDeadlineSeconds: 90
successfulJobsHistory: 1
failedJobsHistory: 1
backoffLimit: 3
parallelism: 1
containers:
sync:
image:
repository: rclone/rclone
tag: 1.73.2
pullPolicy: IfNotPresent
args:
- sync
- src:directus-assets
- dest:directus-assets
- --s3-no-check-bucket
- --verbose
env:
- name: RCLONE_S3_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_TYPE
value: s3
- name: RCLONE_CONFIG_SRC_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_ENV_AUTH
value: false
- name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-directus-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-directus-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_SRC_REGION
valueFrom:
secretKeyRef:
name: garage-directus-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_SRC_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-directus-secret
key: SRC_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true
- name: RCLONE_CONFIG_DEST_TYPE
value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER
value: Other
- name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-directus-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-directus-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: garage-directus-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-directus-secret
key: DEST_ENDPOINT
- name: RCLONE_CONFIG_DEST_S3_FORCE_PATH_STYLE
value: true
karakeep-assets:
type: cronjob
cronjob:
suspend: false
concurrencyPolicy: Forbid
timeZone: US/Central
schedule: "10 0 * * *"
startingDeadlineSeconds: 90
successfulJobsHistory: 1
failedJobsHistory: 1
backoffLimit: 3
parallelism: 1
containers:
sync:
image:
repository: rclone/rclone
tag: 1.73.2
pullPolicy: IfNotPresent
args:
- sync
- src:karakeep-assets
- dest:karakeep-assets
- --s3-no-check-bucket
- --verbose
env:
- name: RCLONE_S3_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_TYPE
value: s3
- name: RCLONE_CONFIG_SRC_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_ENV_AUTH
value: false
- name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-karakeep-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-karakeep-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_SRC_REGION
valueFrom:
secretKeyRef:
name: garage-karakeep-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_SRC_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-karakeep-secret
key: SRC_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true
- name: RCLONE_CONFIG_DEST_TYPE
value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER
value: Other
- name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-karakeep-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-karakeep-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: garage-karakeep-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-karakeep-secret
key: DEST_ENDPOINT
- name: RCLONE_CONFIG_SRC_DEST_FORCE_PATH_STYLE
value: true
talos-backups:
type: cronjob
cronjob:
suspend: false
concurrencyPolicy: Forbid
timeZone: US/Central
schedule: "20 0 * * *"
startingDeadlineSeconds: 90
successfulJobsHistory: 1
failedJobsHistory: 1
backoffLimit: 3
parallelism: 1
containers:
sync:
image:
repository: rclone/rclone
tag: 1.73.2
pullPolicy: IfNotPresent
args:
- sync
- src:talos-backups
- dest:talos-backups
- --s3-no-check-bucket
- --max-age
- 90d
- --verbose
env:
- name: RCLONE_S3_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_TYPE
value: s3
- name: RCLONE_CONFIG_SRC_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_ENV_AUTH
value: false
- name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_SRC_REGION
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_SRC_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: SRC_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true
- name: RCLONE_CONFIG_DEST_TYPE
value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER
value: Other
- name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: DEST_ENDPOINT
- name: RCLONE_CONFIG_SRC_DEST_FORCE_PATH_STYLE
value: true
prune:
image:
repository: rclone/rclone
tag: 1.73.2
pullPolicy: IfNotPresent
args:
- delete
- dest:talos-backups
- --min-age
- 90d
- --verbose
env:
- name: RCLONE_CONFIG_DEST_TYPE
value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER
value: Other
- name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-talos-backups-secret
key: DEST_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true
web-assets:
type: cronjob
cronjob:
suspend: false
concurrencyPolicy: Forbid
timeZone: US/Central
schedule: "30 0 * * *"
startingDeadlineSeconds: 90
successfulJobsHistory: 1
failedJobsHistory: 1
backoffLimit: 3
parallelism: 1
containers:
sync:
image:
repository: rclone/rclone
tag: 1.73.2
pullPolicy: IfNotPresent
args:
- sync
- src:web-assets
- dest:web-assets
- --s3-no-check-bucket
- --verbose
env:
- name: RCLONE_S3_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_TYPE
value: s3
- name: RCLONE_CONFIG_SRC_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_ENV_AUTH
value: false
- name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-web-assets-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-web-assets-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_SRC_REGION
valueFrom:
secretKeyRef:
name: garage-web-assets-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_SRC_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-web-assets-secret
key: SRC_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true
- name: RCLONE_CONFIG_DEST_TYPE
value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER
value: Other
- name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-web-assets-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-web-assets-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: garage-web-assets-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-web-assets-secret
key: DEST_ENDPOINT
- name: RCLONE_CONFIG_DEST_S3_FORCE_PATH_STYLE
value: true
postgres-backups:
type: cronjob
cronjob:
suspend: false
concurrencyPolicy: Forbid
timeZone: US/Central
schedule: "40 0 * * *"
startingDeadlineSeconds: 90
successfulJobsHistory: 1
failedJobsHistory: 1
backoffLimit: 3
parallelism: 1
containers:
sync:
image:
repository: rclone/rclone
tag: 1.73.2
pullPolicy: IfNotPresent
args:
- sync
- src:postgres-backups
- dest:postgres-backups
- --s3-no-check-bucket
- --max-age
- 30d
- --include
- "/cl01tl/*/*/*/base/**"
- --exclude
- "**/walls/**"
- --verbose
env:
- name: RCLONE_S3_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_TYPE
value: s3
- name: RCLONE_CONFIG_SRC_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_ENV_AUTH
value: false
- name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_SRC_REGION
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_SRC_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: SRC_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true
- name: RCLONE_CONFIG_DEST_TYPE
value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER
value: Other
- name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: DEST_ENDPOINT
- name: RCLONE_CONFIG_SRC_DEST_FORCE_PATH_STYLE
value: true
prune:
image:
repository: rclone/rclone
tag: 1.73.2
pullPolicy: IfNotPresent
args:
- delete
- dest:postgres-backups
- --min-age
- 30d
- --verbose
env:
- name: RCLONE_CONFIG_DEST_TYPE
value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER
value: Other
- name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-postgres-backups-secret
key: DEST_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true

View File

@@ -21,6 +21,10 @@ dependencies:
- name: rook-ceph-cluster
version: v1.19.2
repository: https://charts.rook.io/release
- name: cloudflared
alias: cloudflared-rgw
repository: oci://harbor.alexlebens.net/helm-charts
version: 2.4.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ceph.png
# renovate: datasource=github-releases depName=rook/rook
appVersion: v1.19.2

View File

@@ -177,4 +177,51 @@ rook-ceph-cluster:
name: ceph-blockpool-snapshot
isDefault: true
deletionPolicy: Delete
cephObjectStores: []
cephObjectStores:
- name: ceph-objectstore
spec:
metadataPool:
failureDomain: host
replicated:
size: 3
dataPool:
failureDomain: host
erasureCoded:
dataChunks: 2
codingChunks: 1
parameters:
bulk: "true"
preservePoolsOnDelete: true
gateway:
port: 80
resources:
requests:
cpu: "1000m"
memory: "1Gi"
instances: 1
priorityClassName: system-cluster-critical
hosting:
dnsNames:
- objects.alexlebens.dev
- objects.alexlebens.net
storageClass:
enabled: true
name: ceph-bucket
reclaimPolicy: Delete
volumeBindingMode: "Immediate"
parameters:
region: us-east-1
route:
enabled: true
port: 80
host:
name: objects.alexlebens.net
path: /
pathType: PathPrefix
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
cloudflared-rgw:
name: rgw

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:5cfad7a46f5671378adac77c3e39df224430a7481aeb16f7d3713f134e5d1dab
generated: "2026-03-11T23:02:03.844844518Z"
generated: "2026-03-11T19:55:16.762058898Z"

View File

@@ -58,7 +58,7 @@ roundcube:
nginx:
image:
repository: nginx
tag: 1.29.6-alpine-slim
tag: 1.29.5-alpine-slim
pullPolicy: IfNotPresent
env:
- name: NGINX_HOST
@@ -256,7 +256,7 @@ postgres-18-cluster:
- name: live-backup
suspend: false
immediate: true
schedule: "0 40 15 * * *"
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
@@ -272,10 +272,9 @@ volsync-target-data:
pvcTarget: roundcube-data
local:
enabled: true
schedule: 12 11 * * *
schedule: 16 11 * * *
remote:
enabled: true
schedule: 12 12 * * *
enabled: false
external:
enabled: true
schedule: 12 13 * * *
schedule: 16 12 * * *

View File

@@ -12,4 +12,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:4cc27a45f60df729db0cff4780bfb49655db739fdd35f6a46eb3a0489efdc88f
generated: "2026-03-11T23:02:21.670318334Z"
generated: "2026-03-11T19:55:43.637221635Z"

Some files were not shown because too many files have changed in this diff Show More