1 Commits

Author SHA1 Message Date
1745ee130c chore(deps): update postgres-cluster docker tag to v7.9.1
All checks were successful
lint-test-helm / lint-helm (pull_request) Successful in 13s
2026-03-11 20:37:02 +00:00
99 changed files with 445 additions and 1131 deletions

View File

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

View File

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

View File

@@ -18,7 +18,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: argo-workflows - name: argo-workflows
version: 0.47.5 version: 0.47.4
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
- name: argo-events - name: argo-events
version: 2.4.20 version: 2.4.20
@@ -29,4 +29,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
# renovate: datasource=github-releases depName=argoproj/argo-workflows # 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 - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 0 14 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true

View File

@@ -127,19 +127,17 @@ volsync-target-config:
enabled: true enabled: true
schedule: 2 8 * * * schedule: 2 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 2 9 * * *
external: external:
enabled: true enabled: true
schedule: 2 10 * * * schedule: 2 9 * * *
volsync-target-metadata: volsync-target-metadata:
pvcTarget: audiobookshelf-metadata pvcTarget: audiobookshelf-metadata
local: local:
enabled: true enabled: true
schedule: 4 8 * * * schedule: 4 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 4 9 * * *
external: external:
enabled: true enabled: true
schedule: 4 10 * * * schedule: 4 9 * * *

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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: main:
image: image:
repository: directus/directus repository: directus/directus
tag: 11.16.1 tag: 11.16.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: PUBLIC_URL - name: PUBLIC_URL
@@ -105,7 +105,7 @@ directus:
- name: STORAGE_S3_BUCKET - name: STORAGE_S3_BUCKET
value: directus-assets value: directus-assets
- name: STORAGE_S3_ENDPOINT - name: STORAGE_S3_ENDPOINT
value: http://garage-main.garage:3900 value: http://garage-main.garage:3000
- name: STORAGE_S3_FORCE_PATH_STYLE - name: STORAGE_S3_FORCE_PATH_STYLE
value: true value: true
- name: AUTH_PROVIDERS - name: AUTH_PROVIDERS
@@ -219,7 +219,7 @@ postgres-18-cluster:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 15 14 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -222,7 +222,7 @@ postgres-18-cluster:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 0 7 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
@@ -259,7 +259,7 @@ volsync-target-storage:
fsGroupChangePolicy: OnRootMismatch fsGroupChangePolicy: OnRootMismatch
local: local:
enabled: true enabled: true
schedule: 0 0 7 * * * schedule: 0 0 0 * * *
restic: restic:
pruneIntervalDays: 3 pruneIntervalDays: 3
retain: retain:

View File

@@ -12,4 +12,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0 version: 0.4.0
digest: sha256:45cdb638fe815c3fc9703626b902d0f69ed8ffd0625e0f95bd7b33682126433b digest: sha256:45cdb638fe815c3fc9703626b902d0f69ed8ffd0625e0f95bd7b33682126433b
generated: "2026-03-11T22:57:43.133815464Z" generated: "2026-03-11T20:30:08.534651625Z"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -57,43 +57,6 @@ spec:
metadataPolicy: None metadataPolicy: None
property: secret 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 apiVersion: external-secrets.io/v1
kind: ExternalSecret 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 name: karakeep-key-secret
key: prometheus-token key: prometheus-token
- name: ASSET_STORE_S3_ENDPOINT - 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 - name: ASSET_STORE_S3_REGION
valueFrom: value: us-east-1
secretKeyRef:
name: karakeep-bucket-garage
key: ACCESS_REGION
- name: ASSET_STORE_S3_BUCKET - name: ASSET_STORE_S3_BUCKET
value: karakeep-assets valueFrom:
configMapKeyRef:
name: ceph-bucket-karakeep
key: BUCKET_NAME
- name: ASSET_STORE_S3_ACCESS_KEY_ID - name: ASSET_STORE_S3_ACCESS_KEY_ID
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: karakeep-bucket-garage name: ceph-bucket-karakeep
key: ACCESS_KEY_ID key: AWS_ACCESS_KEY_ID
- name: ASSET_STORE_S3_SECRET_ACCESS_KEY - name: ASSET_STORE_S3_SECRET_ACCESS_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: karakeep-bucket-garage name: ceph-bucket-karakeep
key: ACCESS_SECRET_KEY key: AWS_SECRET_ACCESS_KEY
- name: ASSET_STORE_S3_FORCE_PATH_STYLE - name: ASSET_STORE_S3_FORCE_PATH_STYLE
value: true value: true
- name: MEILI_ADDR - name: MEILI_ADDR
@@ -172,10 +172,9 @@ volsync-target-data:
pvcTarget: karakeep pvcTarget: karakeep
local: local:
enabled: true enabled: true
schedule: 30 8 * * * schedule: 34 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 30 9 * * *
external: external:
enabled: true enabled: true
schedule: 30 10 * * * schedule: 34 9 * * *

View File

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

View File

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

View File

@@ -75,10 +75,9 @@ volsync-target-config:
pvcTarget: libation pvcTarget: libation
local: local:
enabled: true enabled: true
schedule: 32 8 * * * schedule: 36 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 32 9 * * *
external: external:
enabled: true enabled: true
schedule: 32 10 * * * schedule: 36 9 * * *

View File

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

View File

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

View File

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

View File

@@ -29,7 +29,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: matrix-synapse - name: matrix-synapse
version: 3.12.23 version: 3.12.22
repository: https://ananace.gitlab.io/charts repository: https://ananace.gitlab.io/charts
- name: app-template - name: app-template
alias: matrix-hookshot alias: matrix-hookshot
@@ -81,4 +81,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/matrix.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/matrix.png
# renovate: datasource=github-releases depName=element-hq/synapse # 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 - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 0 15 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
@@ -470,24 +470,22 @@ volsync-target-synapse:
pvcTarget: matrix-synapse pvcTarget: matrix-synapse
local: local:
enabled: true enabled: true
schedule: 36 8 * * * schedule: 44 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 36 9 * * *
external: external:
enabled: true enabled: true
schedule: 36 10 * * * schedule: 44 9 * * *
volsync-target-hookshot: volsync-target-hookshot:
pvcTarget: matrix-hookshot pvcTarget: matrix-hookshot
local: local:
enabled: true enabled: true
schedule: 38 8 * * * schedule: 46 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 38 9 * * *
external: external:
enabled: true enabled: true
schedule: 38 10 * * * schedule: 46 9 * * *
volsync-target-discord: volsync-target-discord:
pvcTarget: mautrix-discord pvcTarget: mautrix-discord
moverSecurityContext: moverSecurityContext:
@@ -495,13 +493,12 @@ volsync-target-discord:
runAsGroup: 1337 runAsGroup: 1337
local: local:
enabled: true enabled: true
schedule: 40 8 * * * schedule: 48 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 40 9 * * *
external: external:
enabled: true enabled: true
schedule: 40 10 * * * schedule: 48 9 * * *
volsync-target-whatsapp: volsync-target-whatsapp:
pvcTarget: mautrix-whatsapp pvcTarget: mautrix-whatsapp
moverSecurityContext: moverSecurityContext:
@@ -509,10 +506,9 @@ volsync-target-whatsapp:
runAsGroup: 1337 runAsGroup: 1337
local: local:
enabled: true enabled: true
schedule: 42 8 * * * schedule: 50 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 42 9 * * *
external: external:
enabled: true enabled: true
schedule: 42 10 * * * schedule: 50 9 * * *

View File

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

View File

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

View File

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

View File

@@ -289,7 +289,7 @@ postgres-18-cluster:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 5 15 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
@@ -308,10 +308,9 @@ volsync-target-data:
runAsGroup: 1337 runAsGroup: 1337
local: local:
enabled: true enabled: true
schedule: 48 8 * * * schedule: 54 8 * * *
remote: remote:
enabled: true enabled: false
schedule: 48 9 * * *
external: external:
enabled: true enabled: true
schedule: 48 10 * * * schedule: 54 9 * * *

View File

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

View File

@@ -33,10 +33,6 @@ dependencies:
alias: valkey alias: valkey
version: 0.4.0 version: 0.4.0
repository: oci://harbor.alexlebens.net/helm-charts 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 icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/outline.png
# renovate: datasource=github-releases depName=outline/outline # renovate: datasource=github-releases depName=outline/outline
appVersion: 1.5.0 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 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3 revisionHistoryLimit: 3
pod:
securityContext:
fsGroup: 1001
containers: containers:
main: main:
image: image:
@@ -69,7 +66,30 @@ outline:
- name: REDIS_URL - name: REDIS_URL
value: redis://outline-valkey.outline:6379 value: redis://outline-valkey.outline:6379
- name: FILE_STORAGE - 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 - name: FILE_STORAGE_UPLOAD_MAX_SIZE
value: "26214400" value: "26214400"
- name: FORCE_HTTPS - name: FORCE_HTTPS
@@ -122,18 +142,6 @@ outline:
port: 3000 port: 3000
targetPort: 3000 targetPort: 3000
protocol: HTTP 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: postgres-18-cluster:
mode: recovery mode: recovery
recovery: recovery:
@@ -164,7 +172,7 @@ postgres-18-cluster:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 10 15 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
@@ -176,16 +184,3 @@ postgres-18-cluster:
# immediate: true # immediate: true
# schedule: "0 0 0 * * *" # schedule: "0 0 0 * * *"
# backupName: external # 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 repository: oci://harbor.alexlebens.net/helm-charts
version: 7.9.1 version: 7.9.1
digest: sha256:e9b0673f31b8309beb326635e784964c41bafc10f3bde7eb17ea316d83076854 digest: sha256:e9b0673f31b8309beb326635e784964c41bafc10f3bde7eb17ea316d83076854
generated: "2026-03-11T23:00:19.541959816Z" generated: "2026-03-11T20:33:03.981010255Z"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -167,7 +167,7 @@ postgres-18-cluster:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 25 15 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
@@ -188,10 +188,9 @@ volsync-target-config:
fsGroupChangePolicy: OnRootMismatch fsGroupChangePolicy: OnRootMismatch
local: local:
enabled: true enabled: true
schedule: 4 11 * * * schedule: 8 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 4 12 * * *
external: external:
enabled: true 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 - name: rook-ceph-cluster
version: v1.19.2 version: v1.19.2
repository: https://charts.rook.io/release 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 icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ceph.png
# renovate: datasource=github-releases depName=rook/rook # renovate: datasource=github-releases depName=rook/rook
appVersion: v1.19.2 appVersion: v1.19.2

View File

@@ -177,4 +177,51 @@ rook-ceph-cluster:
name: ceph-blockpool-snapshot name: ceph-blockpool-snapshot
isDefault: true isDefault: true
deletionPolicy: Delete 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 repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:5cfad7a46f5671378adac77c3e39df224430a7481aeb16f7d3713f134e5d1dab digest: sha256:5cfad7a46f5671378adac77c3e39df224430a7481aeb16f7d3713f134e5d1dab
generated: "2026-03-11T23:02:03.844844518Z" generated: "2026-03-11T20:34:53.851532629Z"

View File

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

View File

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

View File

@@ -288,7 +288,7 @@ postgres-18-cluster:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 45 15 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
@@ -309,10 +309,9 @@ volsync-target-clickhouse-data:
fsGroupChangePolicy: OnRootMismatch fsGroupChangePolicy: OnRootMismatch
local: local:
enabled: true enabled: true
schedule: 14 11 * * * schedule: 40 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 14 12 * * *
external: external:
enabled: true enabled: true
schedule: 14 13 * * * schedule: 40 12 * * *

View File

@@ -34,6 +34,43 @@ spec:
metadataPolicy: None metadataPolicy: None
property: AWS_REGION property: AWS_REGION
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: s3-ceph-directus-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: s3-ceph-directus-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: AWS_ACCESS_KEY_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/directus/ceph
metadataPolicy: None
property: AWS_ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/directus/ceph
metadataPolicy: None
property: AWS_SECRET_ACCESS_KEY
- secretKey: BUCKET_HOST
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/directus/ceph
metadataPolicy: None
property: BUCKET_HOST
--- ---
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret

View File

@@ -39,6 +39,45 @@ s3-exporter:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
ceph-directus:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: molu8bits/s3bucket_exporter
tag: 1.0.2
pullPolicy: IfNotPresent
env:
- name: S3_NAME
value: ceph-directus
- name: S3_ENDPOINT
valueFrom:
secretKeyRef:
name: s3-ceph-directus-secret
key: BUCKET_HOST
- name: S3_ACCESS_KEY
valueFrom:
secretKeyRef:
name: s3-ceph-directus-secret
key: AWS_ACCESS_KEY_ID
- name: S3_SECRET_KEY
valueFrom:
secretKeyRef:
name: s3-ceph-directus-secret
key: AWS_SECRET_ACCESS_KEY
- name: S3_REGION
value: us-east-1
- name: LOG_LEVEL
value: info
- name: S3_FORCE_PATH_STYLE
value: true
resources:
requests:
cpu: 10m
memory: 64Mi
garage-local: garage-local:
type: deployment type: deployment
replicas: 1 replicas: 1
@@ -119,6 +158,13 @@ s3-exporter:
port: 9655 port: 9655
targetPort: 9655 targetPort: 9655
protocol: TCP protocol: TCP
ceph-directus:
controller: ceph-directus
ports:
metrics:
port: 9655
targetPort: 9655
protocol: TCP
garage-local: garage-local:
controller: garage-local controller: garage-local
ports: ports:
@@ -144,7 +190,19 @@ s3-exporter:
endpoints: endpoints:
- port: metrics - port: metrics
interval: 5m interval: 5m
scrapeTimeout: 2m scrapeTimeout: 120s
path: /metrics
ceph-directus:
selector:
matchLabels:
app.kubernetes.io/name: s3-exporter
app.kubernetes.io/instance: s3-exporter
app.kubernetes.io/service: s3-exporter-ceph-directus
serviceName: s3-exporter-ceph-directus
endpoints:
- port: metrics
interval: 5m
scrapeTimeout: 120s
path: /metrics path: /metrics
garage-local: garage-local:
selector: selector:
@@ -156,7 +214,7 @@ s3-exporter:
endpoints: endpoints:
- port: metrics - port: metrics
interval: 5m interval: 5m
scrapeTimeout: 2m scrapeTimeout: 120s
path: /metrics path: /metrics
garage-remote: garage-remote:
selector: selector:
@@ -168,5 +226,5 @@ s3-exporter:
endpoints: endpoints:
- port: metrics - port: metrics
interval: 5m interval: 5m
scrapeTimeout: 2m scrapeTimeout: 120s
path: /metrics path: /metrics

View File

@@ -9,7 +9,7 @@ searxng:
main: main:
image: image:
repository: searxng/searxng repository: searxng/searxng
tag: latest@sha256:5cdcc74aa8048d41b545f1577d5d3a2acebb49d56ea609c65a7adb5f3fc6791d tag: latest@sha256:943c8997857aa050ef405779df2fd809960b0e230707f0c45d8e1f0d6a5bb4b7
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: SEARXNG_BASE_URL - name: SEARXNG_BASE_URL
@@ -39,7 +39,7 @@ searxng:
main: main:
image: image:
repository: searxng/searxng repository: searxng/searxng
tag: latest@sha256:5cdcc74aa8048d41b545f1577d5d3a2acebb49d56ea609c65a7adb5f3fc6791d tag: latest@sha256:943c8997857aa050ef405779df2fd809960b0e230707f0c45d8e1f0d6a5bb4b7
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: SEARXNG_BASE_URL - name: SEARXNG_BASE_URL
@@ -171,10 +171,9 @@ volsync-target-data:
pvcTarget: searxng-browser-data pvcTarget: searxng-browser-data
local: local:
enabled: true enabled: true
schedule: 16 11 * * * schedule: 18 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 16 12 * * *
external: external:
enabled: true enabled: true
schedule: 16 12 * * * schedule: 18 12 * * *

View File

@@ -48,10 +48,9 @@ volsync-target-config:
pvcTarget: seerr-seerr-chart-config pvcTarget: seerr-seerr-chart-config
local: local:
enabled: true enabled: true
schedule: 18 11 * * * schedule: 20 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 18 12 * * *
external: external:
enabled: true enabled: true
schedule: 18 13 * * * schedule: 20 12 * * *

View File

@@ -170,10 +170,9 @@ volsync-target-config:
runAsGroup: 1000 runAsGroup: 1000
local: local:
enabled: true enabled: true
schedule: 20 11 * * * schedule: 38 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 20 12 * * *
external: external:
enabled: true enabled: true
schedule: 20 13 * * * schedule: 38 12 * * *

View File

@@ -11,7 +11,7 @@ site-documentation:
main: main:
image: image:
repository: harbor.alexlebens.net/images/site-documentation repository: harbor.alexlebens.net/images/site-documentation
tag: 0.2.0 tag: 0.1.7
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: resources:
requests: requests:

View File

@@ -11,7 +11,7 @@ site-profile:
main: main:
image: image:
repository: harbor.alexlebens.net/images/site-profile repository: harbor.alexlebens.net/images/site-profile
tag: 3.7.0 tag: 3.1.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: resources:
requests: requests:

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:487799d20d30d26443b4b7ffdd31dcba61e27e01067a6a0d7f3f265097a9d9af digest: sha256:487799d20d30d26443b4b7ffdd31dcba61e27e01067a6a0d7f3f265097a9d9af
generated: "2026-03-11T23:02:43.378419214Z" generated: "2026-03-11T20:35:26.400643681Z"

View File

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

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:b2899ddbca96333330da52c7819c54d010691894d085b9f21a8ebd8d679a9823 digest: sha256:b2899ddbca96333330da52c7819c54d010691894d085b9f21a8ebd8d679a9823
generated: "2026-03-11T23:03:04.501966653Z" generated: "2026-03-11T20:35:43.379460965Z"

View File

@@ -165,7 +165,7 @@ postgres-18-cluster:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 0 16 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
@@ -188,8 +188,7 @@ volsync-target-config:
enabled: true enabled: true
schedule: 26 11 * * * schedule: 26 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 26 12 * * *
external: external:
enabled: true enabled: true
schedule: 26 13 * * * schedule: 26 12 * * *

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:828d3934111d24f54e39bb433da9d8a3aeeec21dcd8228737a6e496852fb6b5f digest: sha256:828d3934111d24f54e39bb433da9d8a3aeeec21dcd8228737a6e496852fb6b5f
generated: "2026-03-11T23:03:21.968129945Z" generated: "2026-03-11T20:35:59.414582598Z"

View File

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

View File

@@ -12,4 +12,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:aef9a2c62df9bf44adf02d84b032ccd198c34cee56ff8d86d7200e9f5b21a5c1 digest: sha256:aef9a2c62df9bf44adf02d84b032ccd198c34cee56ff8d86d7200e9f5b21a5c1
generated: "2026-03-11T23:03:39.658857007Z" generated: "2026-03-11T20:36:15.150430524Z"

View File

@@ -102,7 +102,7 @@ postgres-18-cluster:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 5 16 * * *" schedule: "0 0 0 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
@@ -118,10 +118,9 @@ volsync-target-config:
pvcTarget: stalwart-config pvcTarget: stalwart-config
local: local:
enabled: true enabled: true
schedule: 28 11 * * * schedule: 32 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 28 12 * * *
external: external:
enabled: true enabled: true
schedule: 28 13 * * * schedule: 32 12 * * *

View File

@@ -181,21 +181,19 @@ volsync-target-config:
pvcTarget: tdarr-config pvcTarget: tdarr-config
local: local:
enabled: true enabled: true
schedule: 30 11 * * * schedule: 36 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 30 12 * * *
external: external:
enabled: true enabled: true
schedule: 30 13 * * * schedule: 36 12 * * *
volsync-target-server: volsync-target-server:
pvcTarget: tdarr-server pvcTarget: tdarr-server
local: local:
enabled: true enabled: true
schedule: 32 11 * * * schedule: 38 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 32 12 * * *
external: external:
enabled: true enabled: true
schedule: 32 13 * * * schedule: 38 12 * * *

View File

@@ -12,4 +12,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:1d6f670bfe76dbc3d59a2ff762cb5536be8d1f5ce0ed12b44bd9792076607bed digest: sha256:1d6f670bfe76dbc3d59a2ff762cb5536be8d1f5ce0ed12b44bd9792076607bed
generated: "2026-03-11T23:03:57.367242959Z" generated: "2026-03-11T20:36:32.403308099Z"

View File

@@ -113,7 +113,6 @@ volsync-target-data:
enabled: true enabled: true
schedule: 0 0 0 * * * schedule: 0 0 0 * * *
remote: remote:
enabled: true
schedule: 0 0 0 * * * schedule: 0 0 0 * * *
external: external:
enabled: true enabled: true

View File

@@ -9,4 +9,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0 version: 0.4.0
digest: sha256:e2398649941bcdbcba86bf8b7fbeaf5187e2ba29c5046d28be62ab9f37494c7e digest: sha256:e2398649941bcdbcba86bf8b7fbeaf5187e2ba29c5046d28be62ab9f37494c7e
generated: "2026-03-11T23:04:20.045077529Z" generated: "2026-03-11T20:36:49.625435181Z"

View File

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

View File

@@ -147,10 +147,9 @@ volsync-target-config:
pvcTarget: yubal pvcTarget: yubal
local: local:
enabled: true enabled: true
schedule: 34 11 * * * schedule: 42 11 * * *
remote: remote:
enabled: true enabled: false
schedule: 34 12 * * *
external: external:
enabled: true enabled: true
schedule: 34 14 * * * schedule: 42 12 * * *