Compare commits

..

47 Commits

Author SHA1 Message Date
05e733d948 chore(deps): update dependency cloudnative-pg/cloudnative-pg to v1.29.1
All checks were successful
lint-and-test / lint-helm (pull_request) Successful in 14s
lint-and-test / chart-testing (pull_request) Successful in 21s
2026-05-08 23:14:54 +00:00
972bf33a3d feat: change metric ports
All checks were successful
lint-and-test / chart-testing (push) Successful in 31s
release-charts-generic-device-plugin / release (push) Successful in 31s
lint-and-test / lint-helm (push) Successful in 31s
release-charts-rclone-bucket / release (push) Successful in 32s
renovate / renovate (push) Successful in 1m28s
2026-05-08 18:13:43 -05:00
34b8a20da2 fix: wrong selector label
All checks were successful
lint-and-test / lint-helm (push) Successful in 19s
lint-and-test / chart-testing (push) Successful in 29s
release-charts-rclone-bucket / release (push) Successful in 26s
release-charts-cloudflared / release (push) Successful in 29s
renovate / renovate (push) Successful in 1m7s
2026-05-08 17:21:55 -05:00
8d0eff7517 Merge pull request 'chore(deps): update ghcr.io/squat/generic-device-plugin:latest docker digest to 7bc1ece' (#202) from renovate/unified-squatgeneric-device-plugin into main
All checks were successful
lint-and-test / lint-helm (push) Successful in 13s
release-charts-generic-device-plugin / release (push) Successful in 21s
lint-and-test / chart-testing (push) Successful in 33s
renovate / renovate (push) Successful in 57s
2026-05-08 20:23:03 +00:00
f83d0b3013 chore(deps): update ghcr.io/squat/generic-device-plugin:latest docker digest to 7bc1ece
Some checks failed
renovate/stability-days Updates have not met minimum release age requirement
lint-and-test / lint-helm (pull_request) Failing after 20s
lint-and-test / chart-testing (pull_request) Successful in 35s
2026-05-08 20:22:59 +00:00
72ed6b7550 feat: release 0.9.0
Some checks failed
lint-and-test / lint-helm (push) Successful in 16s
release-charts-rclone-bucket / release (push) Successful in 19s
lint-and-test / chart-testing (push) Successful in 46s
renovate / renovate (push) Has been cancelled
2026-05-08 15:22:06 -05:00
f6dc893866 feat: add metrics 2026-05-08 15:21:49 -05:00
ec50f602b0 feat: change service account creation 2026-05-08 15:13:08 -05:00
46507aad6c fix: wrong args
All checks were successful
lint-and-test / lint-helm (push) Successful in 12s
release-charts-cloudflared / release (push) Successful in 21s
lint-and-test / chart-testing (push) Successful in 27s
renovate / renovate (push) Successful in 34s
2026-05-08 00:47:04 -05:00
e8ab4c0132 feat: release 3.2.0
All checks were successful
lint-and-test / lint-helm (push) Successful in 17s
release-charts-cloudflared / release (push) Successful in 23s
lint-and-test / chart-testing (push) Successful in 35s
renovate / renovate (push) Successful in 47s
2026-05-07 23:57:28 -05:00
b19e962009 feat: use identifier for service account 2026-05-07 23:57:08 -05:00
1d38d75e91 feat: release 3.1.0
All checks were successful
release-charts-cloudflared / release (push) Successful in 18s
lint-and-test / lint-helm (push) Successful in 30s
lint-and-test / chart-testing (push) Successful in 43s
renovate / renovate (push) Successful in 28s
2026-05-07 23:01:33 -05:00
63f791c616 feat: change service account creation 2026-05-07 23:01:12 -05:00
4597405cf8 feat: release 3.0.0
All checks were successful
lint-and-test / lint-helm (push) Successful in 12s
release-charts-cloudflared / release (push) Successful in 17s
lint-and-test / chart-testing (push) Successful in 22s
renovate / renovate (push) Successful in 36s
2026-05-07 22:33:29 -05:00
7bd5e48581 feat: add metrics 2026-05-07 22:32:07 -05:00
0fbd8c98ed feat: change protocol 2026-05-07 22:24:53 -05:00
a12bd66389 feat: name service account 2026-05-07 22:23:18 -05:00
c67f00fc5d feat: release 2.0.0
All checks were successful
lint-and-test / lint-helm (push) Successful in 13s
release-charts-volsync-target / release (push) Successful in 23s
renovate / renovate (push) Successful in 1m40s
lint-and-test / chart-testing (push) Successful in 2m39s
2026-05-07 21:16:07 -05:00
e3924cd8f2 feat: switch to backblaze 2026-05-07 21:15:08 -05:00
03e15b12eb feat: change schedule 2026-05-07 21:14:50 -05:00
08ffb87965 feat: update lock
All checks were successful
lint-and-test / chart-testing (push) Successful in 20s
release-charts-generic-device-plugin / release (push) Successful in 28s
renovate / renovate (push) Successful in 37s
lint-and-test / lint-helm (push) Successful in 20s
2026-05-07 20:59:04 -05:00
1fd214924f feat: update common chart
Some checks failed
release-charts-generic-device-plugin / release (push) Failing after 18s
release-charts-cloudflared / release (push) Successful in 23s
release-charts-rclone-bucket / release (push) Successful in 22s
lint-and-test / lint-helm (push) Successful in 26s
renovate / renovate (push) Successful in 39s
lint-and-test / chart-testing (push) Has been cancelled
2026-05-07 20:57:29 -05:00
bbe771a559 feat: update lock 2026-05-07 20:56:49 -05:00
490d1f0e23 feat: update lock 2026-05-07 20:56:15 -05:00
94257be6ce feat: update image
Some checks failed
lint-and-test / lint-helm (push) Failing after 15s
lint-and-test / chart-testing (push) Successful in 25s
release-charts-valkey / release (push) Successful in 23s
renovate / renovate (push) Successful in 1m17s
2026-05-07 20:55:13 -05:00
2f5066a7f6 feat: update common chart
Some checks failed
lint-and-test / lint-helm (push) Successful in 20s
release-charts-rclone-bucket / release (push) Failing after 11s
release-charts-generic-device-plugin / release (push) Successful in 21s
lint-and-test / chart-testing (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-05-07 20:53:42 -05:00
a02f9c5fcd feat: update common chart
Some checks failed
lint-and-test / lint-helm (push) Has been cancelled
lint-and-test / chart-testing (push) Has been cancelled
renovate / renovate (push) Has been cancelled
release-charts-cloudflared / release (push) Failing after 16s
2026-05-07 20:52:49 -05:00
078e7659f4 Merge pull request 'chore(deps): update ghcr.io/squat/generic-device-plugin:latest docker digest to 2e0c0b7' (#201) from renovate/unified-squatgeneric-device-plugin into main
Some checks failed
lint-and-test / lint-helm (push) Failing after 0s
release-charts-generic-device-plugin / release (push) Successful in 16s
renovate / renovate (push) Successful in 4m2s
lint-and-test / chart-testing (push) Has been cancelled
2026-05-08 00:17:47 +00:00
16df0126cf chore(deps): update ghcr.io/squat/generic-device-plugin:latest docker digest to 2e0c0b7
Some checks failed
renovate/stability-days Updates have not met minimum release age requirement
lint-and-test / lint-helm (pull_request) Failing after 0s
lint-and-test / chart-testing (pull_request) Successful in 31s
2026-05-08 00:17:41 +00:00
9be8e7dd76 Merge pull request 'chore(deps): update ghcr.io/squat/generic-device-plugin:latest docker digest to face047' (#200) from renovate/unified-squatgeneric-device-plugin into main
All checks were successful
lint-and-test / lint-helm (push) Successful in 15s
lint-and-test / chart-testing (push) Successful in 26s
release-charts-generic-device-plugin / release (push) Successful in 22s
renovate / renovate (push) Successful in 1m3s
2026-05-07 00:57:44 +00:00
142a3556b1 chore(deps): update ghcr.io/squat/generic-device-plugin:latest docker digest to face047
Some checks failed
renovate/stability-days Updates have not met minimum release age requirement
lint-and-test / lint-helm (pull_request) Failing after 15s
lint-and-test / chart-testing (pull_request) Successful in 21s
2026-05-07 00:57:24 +00:00
9347aa397e feat: bump version
Some checks failed
lint-and-test / lint-helm (push) Successful in 11s
lint-and-test / chart-testing (push) Successful in 24s
release-charts-rclone-bucket / release (push) Successful in 21s
release-charts-generic-device-plugin / release (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-05-06 19:55:22 -05:00
9e7ab77502 fix: wrong argument 2026-05-06 19:55:06 -05:00
8c9a3bf080 feat: bump version
All checks were successful
lint-and-test / lint-helm (push) Successful in 16s
lint-and-test / chart-testing (push) Successful in 39s
release-charts-rclone-bucket / release (push) Successful in 28s
release-charts-valkey / release (push) Successful in 28s
renovate / renovate (push) Successful in 2m13s
2026-05-06 19:10:43 -05:00
86c9cd930a fix: wrong argument 2026-05-06 19:10:43 -05:00
0f14e46c20 fix: fix env force path style 2026-05-06 19:10:43 -05:00
8cae3bb53c Merge pull request 'chore(deps): update ghcr.io/squat/generic-device-plugin:latest docker digest to 826da38' (#197) from renovate/unified-squatgeneric-device-plugin into main
All checks were successful
lint-and-test / lint-helm (push) Successful in 49s
release-charts-generic-device-plugin / release (push) Successful in 20s
renovate / renovate (push) Successful in 1m28s
lint-and-test / chart-testing (push) Successful in 5m20s
2026-05-07 00:02:49 +00:00
49e3392ed5 chore(deps): update ghcr.io/squat/generic-device-plugin:latest docker digest to 826da38
Some checks failed
renovate/stability-days Updates have not met minimum release age requirement
lint-and-test / lint-helm (pull_request) Failing after 38s
lint-and-test / chart-testing (pull_request) Successful in 14m35s
2026-05-07 00:02:23 +00:00
8e9b9460b6 Merge pull request 'chore(deps): update rclone/rclone to v1.74.0' (#195) from renovate/unified-rclonerclone into main
All checks were successful
lint-and-test / chart-testing (push) Successful in 22s
release-charts-rclone-bucket / release (push) Successful in 27s
lint-and-test / lint-helm (push) Successful in 1m6s
renovate / renovate (push) Successful in 2m13s
Reviewed-on: #195
2026-05-02 00:43:46 +00:00
82ded9e1cd chore(deps): update rclone/rclone to v1.74.0
All checks were successful
lint-and-test / lint-helm (pull_request) Successful in 13s
lint-and-test / chart-testing (pull_request) Successful in 4m35s
2026-05-02 00:42:45 +00:00
89319e12c5 Merge pull request 'chore(deps): update ghcr.io/oliver006/redis_exporter docker tag to v1.83.0' (#194) from renovate/unified-oliver006redis_exporter into main
Some checks failed
renovate / renovate (push) Successful in 49s
release-charts-valkey / release (push) Successful in 1m22s
lint-and-test / lint-helm (push) Has been cancelled
lint-and-test / chart-testing (push) Has been cancelled
Reviewed-on: #194
2026-05-02 00:41:54 +00:00
007016b59f chore(deps): update ghcr.io/oliver006/redis_exporter docker tag to v1.83.0
All checks were successful
lint-and-test / lint-helm (pull_request) Successful in 31s
lint-and-test / chart-testing (pull_request) Successful in 8m0s
2026-05-01 00:03:00 +00:00
52363a1dbc fix: invalid rules
All checks were successful
lint-and-test / lint-helm (push) Successful in 30s
release-charts-volsync-target / release (push) Successful in 17s
lint-and-test / chart-testing (push) Successful in 2m50s
renovate / renovate (push) Successful in 1m44s
2026-04-28 17:53:08 -05:00
1a535ae4c2 feat: add rule
All checks were successful
lint-and-test / lint-helm (push) Successful in 44s
release-charts-volsync-target / release (push) Successful in 41s
renovate / renovate (push) Successful in 1m9s
lint-and-test / chart-testing (push) Successful in 3m44s
2026-04-28 16:36:05 -05:00
5a73a500a2 feat: quote values
All checks were successful
lint-and-test / lint-helm (push) Successful in 14s
release-charts-rclone-bucket / release (push) Successful in 2m49s
lint-and-test / chart-testing (push) Successful in 3m28s
renovate / renovate (push) Successful in 2m3s
2026-04-26 15:34:12 -05:00
67d0dbcf71 feat: change helper
All checks were successful
lint-and-test / lint-helm (push) Successful in 19s
lint-and-test / chart-testing (push) Successful in 40s
release-charts-rclone-bucket / release (push) Successful in 25s
renovate / renovate (push) Successful in 40s
2026-04-26 15:15:36 -05:00
f901d1574b fix: wrong destination secret generation
All checks were successful
lint-and-test / lint-helm (push) Successful in 15s
lint-and-test / chart-testing (push) Successful in 29s
renovate / renovate (push) Successful in 46s
release-charts-rclone-bucket / release (push) Successful in 3m8s
2026-04-26 14:13:08 -05:00
25 changed files with 238 additions and 115 deletions

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 5.0.0
digest: sha256:35e8f4e5d15d878c246a04eb51de580291f31203fa10e9e4d2318f16026b2061 digest: sha256:153788a98eab8a2e83bd456e1f6f3d53d1a3363bfe5bca07bd232d948e01a6b2
generated: "2026-01-16T13:29:29.385123-06:00" generated: "2026-05-07T20:55:55.373128-05:00"

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: cloudflared name: cloudflared
version: 2.6.0 version: 3.2.2
description: Cloudflared Tunnel description: Cloudflared Tunnel
keywords: keywords:
- cloudflare - cloudflare
@@ -14,7 +14,7 @@ maintainers:
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 5.0.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/cloudflare.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/cloudflare.png
# renovate: datasource=docker depName=cloudflare/cloudflared # renovate: datasource=docker depName=cloudflare/cloudflared
appVersion: 2026.3.0 appVersion: 2026.3.0

View File

@@ -1,6 +1,6 @@
# cloudflared # cloudflared
![Version: 2.6.0](https://img.shields.io/badge/Version-2.6.0-informational?style=flat-square) ![AppVersion: 2026.3.0](https://img.shields.io/badge/AppVersion-2026.3.0-informational?style=flat-square) ![Version: 3.2.2](https://img.shields.io/badge/Version-3.2.2-informational?style=flat-square) ![AppVersion: 2026.3.0](https://img.shields.io/badge/AppVersion-2026.3.0-informational?style=flat-square)
Cloudflared Tunnel Cloudflared Tunnel
@@ -20,14 +20,16 @@ Cloudflared Tunnel
| Repository | Name | Version | | Repository | Name | Version |
|------------|------|---------| |------------|------|---------|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.2 | | https://bjw-s-labs.github.io/helm-charts/ | common | 5.0.0 |
## Values ## Values
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| image | object | `{"pullPolicy":"IfNotPresent","repository":"cloudflare/cloudflared","tag":"2026.3.0@sha256:6b599ca3e974349ead3286d178da61d291961182ec3fe9c505e1dd02c8ac31b0"}` | Default image | | image | object | `{"pullPolicy":"IfNotPresent","repository":"cloudflare/cloudflared","tag":"2026.3.0@sha256:6b599ca3e974349ead3286d178da61d291961182ec3fe9c505e1dd02c8ac31b0"}` | Default image |
| metrics | object | `{"enabled":true}` | Metrics |
| name | string | `""` | Name override of release | | name | string | `""` | Name override of release |
| protocol | string | `"auto"` | Protocol - Available values are auto, http2, and quic. |
| resources | object | `{"requests":{"cpu":"1m","memory":"20Mi"}}` | Default resources | | resources | object | `{"requests":{"cpu":"1m","memory":"20Mi"}}` | Default resources |
| secret | object | `{"existingSecret":{"key":"cf-tunnel-token","name":"cloudflared-secret"},"externalSecret":{"additionalLabels":{},"enabled":true,"nameOverride":"","store":{"name":"openbao","path":"/cloudflare/tunnels","property":"token"}}}` | Secret configuration | | secret | object | `{"existingSecret":{"key":"cf-tunnel-token","name":"cloudflared-secret"},"externalSecret":{"additionalLabels":{},"enabled":true,"nameOverride":"","store":{"name":"openbao","path":"/cloudflare/tunnels","property":"token"}}}` | Secret configuration |
| secret.existingSecret | object | `{"key":"cf-tunnel-token","name":"cloudflared-secret"}` | Name of existing secret that contains Cloudflare token | | secret.existingSecret | object | `{"key":"cf-tunnel-token","name":"cloudflared-secret"}` | Name of existing secret that contains Cloudflare token |

View File

@@ -4,10 +4,14 @@
global: global:
nameOverride: {{ include "cloudflared.name" . }} nameOverride: {{ include "cloudflared.name" . }}
fullNameOverride: {{ include "cloudflared.name" . }} fullNameOverride: {{ include "cloudflared.name" . }}
createDefaultServiceAccount: true
controllers: controllers:
main: main:
type: deployment type: deployment
replicas: 1
strategy: Recreate strategy: Recreate
serviceAccount:
identifier: {{ .Release.Name }}
containers: containers:
main: main:
image: image:
@@ -17,8 +21,12 @@ controllers:
args: args:
- tunnel - tunnel
- --protocol - --protocol
- http2 - {{ .Values.protocol }}
- --no-autoupdate - --no-autoupdate
{{- if .Values.metrics.enabled }}
- --metrics
- 0.0.0.0:20241
{{- end }}
- run - run
- --token - --token
- $(CF_MANAGED_TUNNEL_TOKEN) - $(CF_MANAGED_TUNNEL_TOKEN)
@@ -29,10 +37,30 @@ controllers:
name: {{ include "secret.name" . }} name: {{ include "secret.name" . }}
key: {{ include "secret.key" . }} key: {{ include "secret.key" . }}
resources: resources:
{{- with .Values.resources }} {{- with .Values.resources }}
resources:
{{- toYaml . | nindent 10 }} {{- toYaml . | nindent 10 }}
{{ end }} {{ end }}
{{- if .Values.metrics.enabled }}
service:
main:
controller: main
ports:
metrics:
port: 20241
targetPort: 20241
serviceMonitor:
main:
selector:
matchLabels:
app.kubernetes.io/name: {{ include "cloudflared.name" . }}
app.kubernetes.io/instance: {{ .Release.Namespace }}
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
endpoints:
- port: metrics
interval: 30s
scrapeTimeout: 10s
path: /metrics
{{- end }}
{{- end -}} {{- end -}}
{{- $_ := mergeOverwrite .Values (include "cloudflared.hardcodedValues" . | fromYaml) -}} {{- $_ := mergeOverwrite .Values (include "cloudflared.hardcodedValues" . | fromYaml) -}}

View File

@@ -1,6 +1,13 @@
# -- Name override of release # -- Name override of release
name: "" name: ""
# -- Protocol - Available values are auto, http2, and quic.
protocol: auto
# -- Metrics
metrics:
enabled: true
# -- Secret configuration # -- Secret configuration
secret: secret:

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 5.0.0
digest: sha256:35e8f4e5d15d878c246a04eb51de580291f31203fa10e9e4d2318f16026b2061 digest: sha256:153788a98eab8a2e83bd456e1f6f3d53d1a3363bfe5bca07bd232d948e01a6b2
generated: "2026-01-16T13:29:01.760344-06:00" generated: "2026-05-07T20:58:40.139936-05:00"

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: generic-device-plugin name: generic-device-plugin
version: 0.20.31 version: 0.21.2
description: Generic Device Plugin description: Generic Device Plugin
keywords: keywords:
- generic-device-plugin - generic-device-plugin
@@ -14,5 +14,5 @@ maintainers:
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 5.0.0
appVersion: 0.20.17 appVersion: 0.21.1

View File

@@ -1,6 +1,6 @@
# generic-device-plugin # generic-device-plugin
![Version: 0.20.31](https://img.shields.io/badge/Version-0.20.31-informational?style=flat-square) ![AppVersion: 0.20.17](https://img.shields.io/badge/AppVersion-0.20.17-informational?style=flat-square) ![Version: 0.21.2](https://img.shields.io/badge/Version-0.21.2-informational?style=flat-square) ![AppVersion: 0.21.1](https://img.shields.io/badge/AppVersion-0.21.1-informational?style=flat-square)
Generic Device Plugin Generic Device Plugin
@@ -19,7 +19,7 @@ Generic Device Plugin
| Repository | Name | Version | | Repository | Name | Version |
|------------|------|---------| |------------|------|---------|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.2 | | https://bjw-s-labs.github.io/helm-charts/ | common | 5.0.0 |
## Values ## Values
@@ -28,7 +28,7 @@ Generic Device Plugin
| config | object | `{"data":"devices:\n - name: serial\n groups:\n - paths:\n - path: /dev/ttyUSB*\n - paths:\n - path: /dev/ttyACM*\n - paths:\n - path: /dev/tty.usb*\n - paths:\n - path: /dev/cu.*\n - paths:\n - path: /dev/cuaU*\n - paths:\n - path: /dev/rfcomm*\n - name: video\n groups:\n - paths:\n - path: /dev/video0\n - name: fuse\n groups:\n - count: 10\n paths:\n - path: /dev/fuse\n - name: audio\n groups:\n - count: 10\n paths:\n - path: /dev/snd\n - name: capture\n groups:\n - paths:\n - path: /dev/snd/controlC0\n - path: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC1\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC1D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC2\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC2D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC3\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC3D0c\n mountPath: /dev/snd/pcmC0D0c\n","enabled":true}` | Config map | | config | object | `{"data":"devices:\n - name: serial\n groups:\n - paths:\n - path: /dev/ttyUSB*\n - paths:\n - path: /dev/ttyACM*\n - paths:\n - path: /dev/tty.usb*\n - paths:\n - path: /dev/cu.*\n - paths:\n - path: /dev/cuaU*\n - paths:\n - path: /dev/rfcomm*\n - name: video\n groups:\n - paths:\n - path: /dev/video0\n - name: fuse\n groups:\n - count: 10\n paths:\n - path: /dev/fuse\n - name: audio\n groups:\n - count: 10\n paths:\n - path: /dev/snd\n - name: capture\n groups:\n - paths:\n - path: /dev/snd/controlC0\n - path: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC1\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC1D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC2\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC2D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC3\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC3D0c\n mountPath: /dev/snd/pcmC0D0c\n","enabled":true}` | Config map |
| config.data | string | See [values.yaml](./values.yaml) | generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage) | | config.data | string | See [values.yaml](./values.yaml) | generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage) |
| deviceDomain | string | `"devic.es"` | Domain used by devices for identifcation | | deviceDomain | string | `"devic.es"` | Domain used by devices for identifcation |
| image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:d9e098e33a20c32a561adb1ef8cace7d5912cd5ffb38f07dd9f83af4bdf38505"}` | Default image | | image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:7bc1ecec8472be1e5cf1ce534f0438a1d48cc3e2b4997cee924dac4d3dbfc3d3"}` | Default image |
| name | string | `"generic-device-plugin"` | Name override of release | | name | string | `"generic-device-plugin"` | Name override of release |
| resources | object | `{"requests":{"cpu":"50m","memory":"10Mi"}}` | Default resources | | resources | object | `{"requests":{"cpu":"50m","memory":"10Mi"}}` | Default resources |
| service | object | `{"listenPort":8080}` | Service port | | service | object | `{"listenPort":8080}` | Service port |

View File

@@ -4,7 +4,7 @@ name: generic-device-plugin
# -- Default image # -- Default image
image: image:
repository: ghcr.io/squat/generic-device-plugin repository: ghcr.io/squat/generic-device-plugin
tag: latest@sha256:d9e098e33a20c32a561adb1ef8cace7d5912cd5ffb38f07dd9f83af4bdf38505 tag: latest@sha256:7bc1ecec8472be1e5cf1ce534f0438a1d48cc3e2b4997cee924dac4d3dbfc3d3
pullPolicy: Always pullPolicy: Always
# -- Domain used by devices for identifcation # -- Domain used by devices for identifcation

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: postgres-cluster name: postgres-cluster
version: 7.12.1 version: 7.12.2
description: Cloudnative-pg Cluster description: Cloudnative-pg Cluster
keywords: keywords:
- database - database
@@ -12,4 +12,4 @@ maintainers:
- name: alexlebens - name: alexlebens
icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4 icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg # renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
appVersion: v1.29.0 appVersion: v1.29.1

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 5.0.0
digest: sha256:35e8f4e5d15d878c246a04eb51de580291f31203fa10e9e4d2318f16026b2061 digest: sha256:153788a98eab8a2e83bd456e1f6f3d53d1a3363bfe5bca07bd232d948e01a6b2
generated: "2026-04-25T20:40:50.27544-05:00" generated: "2026-05-07T20:56:33.260732-05:00"

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: rclone-bucket name: rclone-bucket
version: 0.4.0 version: 0.10.0
description: Rclone CronJob to replicate buckets description: Rclone CronJob to replicate buckets
keywords: keywords:
- rclone-bucket - rclone-bucket
@@ -14,7 +14,7 @@ maintainers:
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 5.0.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/rclone.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/rclone.png
# renovate: datasource=github-releases depName=rclone/rclone # renovate: datasource=github-releases depName=rclone/rclone
appVersion: v1.73.5 appVersion: v1.74.0

View File

@@ -1,6 +1,6 @@
# rclone-bucket # rclone-bucket
![Version: 0.4.0](https://img.shields.io/badge/Version-0.4.0-informational?style=flat-square) ![AppVersion: v1.73.5](https://img.shields.io/badge/AppVersion-v1.73.5-informational?style=flat-square) ![Version: 0.10.0](https://img.shields.io/badge/Version-0.10.0-informational?style=flat-square) ![AppVersion: v1.74.0](https://img.shields.io/badge/AppVersion-v1.74.0-informational?style=flat-square)
Rclone CronJob to replicate buckets Rclone CronJob to replicate buckets
@@ -19,7 +19,7 @@ Rclone CronJob to replicate buckets
| Repository | Name | Version | | Repository | Name | Version |
|------------|------|---------| |------------|------|---------|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.2 | | https://bjw-s-labs.github.io/helm-charts/ | common | 5.0.0 |
## Values ## Values
@@ -27,7 +27,8 @@ Rclone CronJob to replicate buckets
|-----|------|---------|-------------| |-----|------|---------|-------------|
| additionalLabels | object | `{}` | Add additional labels | | additionalLabels | object | `{}` | Add additional labels |
| cronJob | object | `{"backoffLimit":3,"parallelism":1,"schedule":"0 0 * * *","suspend":false,"timeZone":"America/Chicago"}` | CronJob configuration | | cronJob | object | `{"backoffLimit":3,"parallelism":1,"schedule":"0 0 * * *","suspend":false,"timeZone":"America/Chicago"}` | CronJob configuration |
| image | object | `{"pullPolicy":"IfNotPresent","repository":"rclone/rclone","tag":"1.73.5@sha256:1619a625f845e169c34b952cf40c483c0392965b821c5155cde8cbfd35254a96"}` | Default image | | image | object | `{"pullPolicy":"IfNotPresent","repository":"rclone/rclone","tag":"1.74.0@sha256:d2e0e88359d0b2e67cfcd2c43d5405185eb8adfc207079df27c42da82c5207bc"}` | Default image |
| metrics | object | `{"enabled":true}` | Metrics |
| nameOverride | string | `""` | Default pattern follows <pvcTarget>-backup | | nameOverride | string | `""` | Default pattern follows <pvcTarget>-backup |
| prune | object | `{"ageToPrune":"90d","enabled":false,"exclude":"","include":""}` | Enable prune job | | prune | object | `{"ageToPrune":"90d","enabled":false,"exclude":"","include":""}` | Enable prune job |
| rclone | object | `{"destination":{"bucketName":"bucket","forcePathStyle":true,"providerType":"Other"},"providerType":"Other","source":{"bucketName":"bucket","forcePathStyle":true,"providerType":"Other"}}` | rclone configuration | | rclone | object | `{"destination":{"bucketName":"bucket","forcePathStyle":true,"providerType":"Other"},"providerType":"Other","source":{"bucketName":"bucket","forcePathStyle":true,"providerType":"Other"}}` | rclone configuration |

View File

@@ -43,35 +43,35 @@ Generate the secret name
{{/* {{/*
Common env names Common env names
*/}} */}}
{{- define "secret.envAccessKey" -}} {{- define "secretRclone.envAccessKey" -}}
ACCESS_KEY_ID ACCESS_KEY_ID
{{- end }} {{- end }}
{{- define "secret.envSecretKey" -}} {{- define "secretRclone.envSecretKey" -}}
ACCESS_SECRET_KEY ACCESS_SECRET_KEY
{{- end }} {{- end }}
{{- define "secret.envRegion" -}} {{- define "secretRclone.envRegion" -}}
ACCESS_REGION ACCESS_REGION
{{- end }} {{- end }}
{{- define "secret.envSrcEndpoint" -}} {{- define "secretRclone.envSrcEndpoint" -}}
SRC_ENDPOINT SRC_ENDPOINT
{{- end }} {{- end }}
{{- define "secret.envDestEndpoint" -}} {{- define "secretRclone.envDestEndpoint" -}}
DEST_ENDPOINT DEST_ENDPOINT
{{- end }} {{- end }}
{{/* {{/*
Create chart name and version as used by the chart label. Create chart name and version as used by the chart label.
*/}} */}}
{{- define "secret.chart" -}} {{- define "secretRclone.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }} {{- end }}
{{/* {{/*
Common labels Common labels
*/}} */}}
{{- define "secret.labels" -}} {{- define "secretRclone.labels" -}}
helm.sh/chart: {{ include "secret.chart" $ }} helm.sh/chart: {{ include "secretRclone.chart" $ }}
{{ include "secret.selectorLabels" $ }} {{ include "secretRclone.selectorLabels" $ }}
{{- if .Chart.AppVersion }} {{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.Version | quote }} app.kubernetes.io/version: {{ .Chart.Version | quote }}
{{- end }} {{- end }}
@@ -84,7 +84,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
{{/* {{/*
Selector labels Selector labels
*/}} */}}
{{- define "secret.selectorLabels" -}} {{- define "secretRclone.selectorLabels" -}}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }} {{- end }}

View File

@@ -4,6 +4,7 @@
global: global:
nameOverride: {{ include "rclone.name" . }} nameOverride: {{ include "rclone.name" . }}
fullNameOverride: {{ include "rclone.name" . }} fullNameOverride: {{ include "rclone.name" . }}
createDefaultServiceAccount: true
controllers: controllers:
main: main:
type: cronjob type: cronjob
@@ -11,6 +12,8 @@ controllers:
cronjob: cronjob:
{{- toYaml . | nindent 6 }} {{- toYaml . | nindent 6 }}
{{ end }} {{ end }}
serviceAccount:
identifier: {{ .Release.Name }}
containers: containers:
sync: sync:
image: image:
@@ -23,16 +26,21 @@ controllers:
- dest:{{ .Values.rclone.destination.bucketName }} - dest:{{ .Values.rclone.destination.bucketName }}
- --s3-no-check-bucket - --s3-no-check-bucket
{{- if .Values.prune.enabled }} {{- if .Values.prune.enabled }}
- --min-age - --max-age
- {{ .Values.prune.ageToPrune }} - {{ .Values.prune.ageToPrune | quote }}
{{- end }} {{- end }}
{{- if .Values.prune.include }} {{- if .Values.prune.include }}
- --include - --include
- {{ .Values.prune.include }} - {{ .Values.prune.include | quote }}
{{- end }} {{- end }}
{{- if .Values.prune.exclude }} {{- if .Values.prune.exclude }}
- --exclude - --exclude
- {{ .Values.prune.exclude }} - {{ .Values.prune.exclude | quote }}
{{- end }}
{{- if .Values.metrics.enabled }}
- --rc
- --rc-enable-metrics
- --metrics-addr=0.0.0.0:5573
{{- end }} {{- end }}
- --verbose - --verbose
env: env:
@@ -43,57 +51,57 @@ controllers:
- name: RCLONE_CONFIG_SRC_PROVIDER - name: RCLONE_CONFIG_SRC_PROVIDER
value: {{ .Values.rclone.source.providerType }} value: {{ .Values.rclone.source.providerType }}
- name: RCLONE_CONFIG_SRC_ENV_AUTH - name: RCLONE_CONFIG_SRC_ENV_AUTH
value: false value: "false"
- name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID - name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.sourceSecretName" . }} name: {{ include "rclone.sourceSecretName" . }}
key: {{ include "secret.envAccessKey" . }} key: {{ include "secretRclone.envAccessKey" . }}
- name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY - name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.sourceSecretName" . }} name: {{ include "rclone.sourceSecretName" . }}
key: {{ include "secret.envSecretKey" . }} key: {{ include "secretRclone.envSecretKey" . }}
- name: RCLONE_CONFIG_SRC_REGION - name: RCLONE_CONFIG_SRC_REGION
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.sourceSecretName" . }} name: {{ include "rclone.sourceSecretName" . }}
key: {{ include "secret.envRegion" . }} key: {{ include "secretRclone.envRegion" . }}
- name: RCLONE_CONFIG_SRC_ENDPOINT - name: RCLONE_CONFIG_SRC_ENDPOINT
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.sourceSecretName" . }} name: {{ include "rclone.sourceSecretName" . }}
key: {{ include "secret.envSrcEndpoint" . }} key: {{ include "secretRclone.envSrcEndpoint" . }}
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE - name: RCLONE_CONFIG_SRC_FORCE_PATH_STYLE
value: {{ .Values.rclone.source.forcePathStyle }} value: {{ .Values.rclone.source.forcePathStyle | quote }}
- name: RCLONE_CONFIG_DEST_TYPE - name: RCLONE_CONFIG_DEST_TYPE
value: s3 value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER - name: RCLONE_CONFIG_DEST_PROVIDER
value: {{ .Values.rclone.destination.providerType }} value: {{ .Values.rclone.destination.providerType }}
- name: RCLONE_CONFIG_DEST_ENV_AUTH - name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false value: "false"
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID - name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envAccessKey" . }} key: {{ include "secretRclone.envAccessKey" . }}
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY - name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envSecretKey" . }} key: {{ include "secretRclone.envSecretKey" . }}
- name: RCLONE_CONFIG_DEST_REGION - name: RCLONE_CONFIG_DEST_REGION
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envRegion" . }} key: {{ include "secretRclone.envRegion" . }}
- name: RCLONE_CONFIG_DEST_ENDPOINT - name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envDestEndpoint" . }} key: {{ include "secretRclone.envDestEndpoint" . }}
- name: RCLONE_CONFIG_SRC_DEST_FORCE_PATH_STYLE - name: RCLONE_CONFIG_DEST_FORCE_PATH_STYLE
value: {{ .Values.rclone.destination.forcePathStyle }} value: {{ .Values.rclone.destination.forcePathStyle | quote }}
{{- if .Values.prune.enabled }} {{- if .Values.prune.enabled }}
prune: prune:
image: image:
@@ -104,38 +112,74 @@ controllers:
- delete - delete
- dest:{{ .Values.rclone.destination.bucketName }} - dest:{{ .Values.rclone.destination.bucketName }}
- --min-age - --min-age
- {{ .Values.prune.ageToPrune }} - {{ .Values.prune.ageToPrune | quote }}
- --verbose - --verbose
{{- if .Values.metrics.enabled }}
- --rc
- --rc-enable-metrics
- --metrics-addr=0.0.0.0:5574
{{- end }}
env: env:
- name: RCLONE_CONFIG_DEST_TYPE - name: RCLONE_CONFIG_DEST_TYPE
value: s3 value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER - name: RCLONE_CONFIG_DEST_PROVIDER
value: {{ .Values.rclone.destination.providerType }} value: {{ .Values.rclone.destination.providerType }}
- name: RCLONE_CONFIG_DEST_ENV_AUTH - name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false value: "false"
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID - name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envAccessKey" . }} key: {{ include "secretRclone.envAccessKey" . }}
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY - name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envSecretKey" . }} key: {{ include "secretRclone.envSecretKey" . }}
- name: RCLONE_CONFIG_DEST_REGION - name: RCLONE_CONFIG_DEST_REGION
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envRegion" . }} key: {{ include "secretRclone.envRegion" . }}
- name: RCLONE_CONFIG_DEST_ENDPOINT - name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envDestEndpoint" . }} key: {{ include "secretRclone.envDestEndpoint" . }}
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE - name: RCLONE_CONFIG_DEST_FORCE_PATH_STYLE
value: {{ .Values.rclone.destination.forcePathStyle }} value: {{ .Values.rclone.destination.forcePathStyle | quote }}
{{- end }} {{- end }}
{{- if .Values.metrics.enabled }}
service:
main:
controller: main
ports:
rc:
port: 5572
targetPort: 5572
metrics-sync:
port: 5573
targetPort: 5573
metrics-prune:
port: 5574
targetPort: 5574
serviceMonitor:
main:
selector:
matchLabels:
app.kubernetes.io/name: {{ include "rclone.name" . }}
app.kubernetes.io/instance: {{ .Release.Namespace }}
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
endpoints:
- port: metrics-sync
interval: 10s
scrapeTimeout: 5s
path: /metrics
- port: metrics-prune
interval: 10s
scrapeTimeout: 5s
path: /metrics
{{- end }}
{{- end -}} {{- end -}}
{{- $_ := mergeOverwrite .Values (include "rclone.hardcodedValues" . | fromYaml) -}} {{- $_ := mergeOverwrite .Values (include "rclone.hardcodedValues" . | fromYaml) -}}

View File

@@ -6,7 +6,7 @@ metadata:
name: {{ include "rclone.sourceSecretName" . }} name: {{ include "rclone.sourceSecretName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
{{- include "secret.labels" . | nindent 4 }} {{- include "secretRclone.labels" . | nindent 4 }}
app.kubernetes.io/name: {{ include "rclone.sourceSecretName" . }} app.kubernetes.io/name: {{ include "rclone.sourceSecretName" . }}
{{- with .Values.additionalLabels }} {{- with .Values.additionalLabels }}
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
@@ -16,19 +16,19 @@ spec:
kind: ClusterSecretStore kind: ClusterSecretStore
name: {{ .Values.secret.externalSecret.storeName | required "External Secret store name is required" }} name: {{ .Values.secret.externalSecret.storeName | required "External Secret store name is required" }}
data: data:
- secretKey: {{ include "secret.envAccessKey" . }} - secretKey: {{ include "secretRclone.envAccessKey" . }}
remoteRef: remoteRef:
key: {{ .Values.secret.externalSecret.source.credentials.path }} key: {{ .Values.secret.externalSecret.source.credentials.path }}
property: {{ .Values.secret.externalSecret.source.credentials.keyIdProperty }} property: {{ .Values.secret.externalSecret.source.credentials.keyIdProperty }}
- secretKey: {{ include "secret.envSecretKey" . }} - secretKey: {{ include "secretRclone.envSecretKey" . }}
remoteRef: remoteRef:
key: {{ .Values.secret.externalSecret.source.credentials.path }} key: {{ .Values.secret.externalSecret.source.credentials.path }}
property: {{ .Values.secret.externalSecret.source.credentials.secretKeyProperty }} property: {{ .Values.secret.externalSecret.source.credentials.secretKeyProperty }}
- secretKey: {{ include "secret.envRegion" . }} - secretKey: {{ include "secretRclone.envRegion" . }}
remoteRef: remoteRef:
key: {{ .Values.secret.externalSecret.source.credentials.path }} key: {{ .Values.secret.externalSecret.source.credentials.path }}
property: {{ .Values.secret.externalSecret.source.credentials.regionProperty }} property: {{ .Values.secret.externalSecret.source.credentials.regionProperty }}
- secretKey: {{ include "secret.envSrcEndpoint" . }} - secretKey: {{ include "secretRclone.envSrcEndpoint" . }}
remoteRef: remoteRef:
key: {{ .Values.secret.externalSecret.source.config.path }} key: {{ .Values.secret.externalSecret.source.config.path }}
property: {{ .Values.secret.externalSecret.source.config.endpointProperty }} property: {{ .Values.secret.externalSecret.source.config.endpointProperty }}
@@ -40,7 +40,7 @@ metadata:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
{{- include "secret.labels" . | nindent 4 }} {{- include "secretRclone.labels" . | nindent 4 }}
app.kubernetes.io/name: {{ include "rclone.destinationSecretName" . }} app.kubernetes.io/name: {{ include "rclone.destinationSecretName" . }}
{{- with .Values.additionalLabels }} {{- with .Values.additionalLabels }}
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
@@ -50,19 +50,19 @@ spec:
kind: ClusterSecretStore kind: ClusterSecretStore
name: {{ .Values.secret.externalSecret.storeName | required "External Secret store name is required" }} name: {{ .Values.secret.externalSecret.storeName | required "External Secret store name is required" }}
data: data:
- secretKey: {{ include "secret.envAccessKey" . }} - secretKey: {{ include "secretRclone.envAccessKey" . }}
remoteRef: remoteRef:
key: {{ .Values.secret.externalSecret.destination.credentials.path }} key: {{ .Values.secret.externalSecret.destination.credentials.path }}
property: {{ .Values.secret.externalSecret.destination.credentials.keyIdProperty }} property: {{ .Values.secret.externalSecret.destination.credentials.keyIdProperty }}
- secretKey: {{ include "secret.envSecretKey" . }} - secretKey: {{ include "secretRclone.envSecretKey" . }}
remoteRef: remoteRef:
key: {{ .Values.secret.externalSecret.destination.credentials.path }} key: {{ .Values.secret.externalSecret.destination.credentials.path }}
property: {{ .Values.secret.externalSecret.destination.credentials.keyIdProperty }} property: {{ .Values.secret.externalSecret.destination.credentials.secretKeyProperty }}
- secretKey: {{ include "secret.envRegion" . }} - secretKey: {{ include "secretRclone.envRegion" . }}
remoteRef: remoteRef:
key: {{ .Values.secret.externalSecret.destination.credentials.path }} key: {{ .Values.secret.externalSecret.destination.credentials.path }}
property: {{ .Values.secret.externalSecret.destination.credentials.keyIdProperty }} property: {{ .Values.secret.externalSecret.destination.credentials.regionProperty }}
- secretKey: {{ include "secret.envDestEndpoint" . }} - secretKey: {{ include "secretRclone.envDestEndpoint" . }}
remoteRef: remoteRef:
key: {{ .Values.secret.externalSecret.destination.config.path }} key: {{ .Values.secret.externalSecret.destination.config.path }}
property: {{ .Values.secret.externalSecret.destination.config.endpointProperty }} property: {{ .Values.secret.externalSecret.destination.config.endpointProperty }}

View File

@@ -7,7 +7,7 @@ additionalLabels: {}
# -- Default image # -- Default image
image: image:
repository: rclone/rclone repository: rclone/rclone
tag: 1.73.5@sha256:1619a625f845e169c34b952cf40c483c0392965b821c5155cde8cbfd35254a96 tag: 1.74.0@sha256:d2e0e88359d0b2e67cfcd2c43d5405185eb8adfc207079df27c42da82c5207bc
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# -- CronJob configuration # -- CronJob configuration
@@ -82,3 +82,7 @@ secret:
existingSecretDestination: existingSecretDestination:
name: rclone-destination-secret name: rclone-destination-secret
# -- Metrics
metrics:
enabled: true

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: valkey name: valkey
version: 0.6.1 version: 0.8.0
description: Valkey chart with preconfigured settings description: Valkey chart with preconfigured settings
keywords: keywords:
- valkey - valkey
@@ -19,4 +19,4 @@ dependencies:
version: 0.9.4 version: 0.9.4
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/valkey.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/valkey.png
# renovate: datasource=github-releases depName=valkey-io/valkey # renovate: datasource=github-releases depName=valkey-io/valkey
appVersion: 9.0.3 appVersion: 9.0.4

View File

@@ -1,6 +1,6 @@
# valkey # valkey
![Version: 0.6.1](https://img.shields.io/badge/Version-0.6.1-informational?style=flat-square) ![AppVersion: 9.0.3](https://img.shields.io/badge/AppVersion-9.0.3-informational?style=flat-square) ![Version: 0.8.0](https://img.shields.io/badge/Version-0.8.0-informational?style=flat-square) ![AppVersion: 9.0.4](https://img.shields.io/badge/AppVersion-9.0.4-informational?style=flat-square)
Valkey chart with preconfigured settings Valkey chart with preconfigured settings
@@ -35,11 +35,11 @@ Valkey chart with preconfigured settings
| valkey.dataStorage.requestedSize | string | `"1Gi"` | | | valkey.dataStorage.requestedSize | string | `"1Gi"` | |
| valkey.image.registry | string | `"docker.io"` | | | valkey.image.registry | string | `"docker.io"` | |
| valkey.image.repository | string | `"valkey/valkey"` | | | valkey.image.repository | string | `"valkey/valkey"` | |
| valkey.image.tag | string | `"9.0.3@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9"` | | | valkey.image.tag | string | `"9.0.4@sha256:8436e10bc65c94886a91d4415b6a6dfa9cb5a306fb3b996e5bb67cd2b4854193"` | |
| valkey.metrics.enabled | bool | `true` | | | valkey.metrics.enabled | bool | `true` | |
| valkey.metrics.exporter.image.registry | string | `"ghcr.io"` | | | valkey.metrics.exporter.image.registry | string | `"ghcr.io"` | |
| valkey.metrics.exporter.image.repository | string | `"oliver006/redis_exporter"` | | | valkey.metrics.exporter.image.repository | string | `"oliver006/redis_exporter"` | |
| valkey.metrics.exporter.image.tag | string | `"v1.82.0@sha256:6a97d4dd743b533e1f950c677b87d880e44df363c61af3f406fc9e53ed65ee03"` | | | valkey.metrics.exporter.image.tag | string | `"v1.83.0@sha256:e8c209894d4c0cc55b1259ddd47e0b769ad1ff864b356736ee885462a3b0e48c"` | |
| valkey.metrics.exporter.resources.requests.cpu | string | `"1m"` | | | valkey.metrics.exporter.resources.requests.cpu | string | `"1m"` | |
| valkey.metrics.exporter.resources.requests.memory | string | `"10M"` | | | valkey.metrics.exporter.resources.requests.memory | string | `"10M"` | |
| valkey.metrics.podMonitor.enabled | bool | `true` | | | valkey.metrics.podMonitor.enabled | bool | `true` | |

View File

@@ -3,7 +3,7 @@ valkey:
image: image:
registry: docker.io registry: docker.io
repository: valkey/valkey repository: valkey/valkey
tag: 9.0.3@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9 tag: 9.0.4@sha256:8436e10bc65c94886a91d4415b6a6dfa9cb5a306fb3b996e5bb67cd2b4854193
serviceAccount: serviceAccount:
create: true create: true
resources: resources:
@@ -31,7 +31,7 @@ valkey:
image: image:
registry: ghcr.io registry: ghcr.io
repository: oliver006/redis_exporter repository: oliver006/redis_exporter
tag: v1.82.0@sha256:6a97d4dd743b533e1f950c677b87d880e44df363c61af3f406fc9e53ed65ee03 tag: v1.83.0@sha256:e8c209894d4c0cc55b1259ddd47e0b769ad1ff864b356736ee885462a3b0e48c
resources: resources:
requests: requests:
cpu: 1m cpu: 1m

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: volsync-target name: volsync-target
version: 1.0.0 version: 2.0.0
description: Volsync Replication set to target specific PVC with preconfigured settings description: Volsync Replication set to target specific PVC with preconfigured settings
keywords: keywords:
- volsync-target - volsync-target

View File

@@ -1,6 +1,6 @@
# volsync-target # volsync-target
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 0.15.0](https://img.shields.io/badge/AppVersion-0.15.0-informational?style=flat-square) ![Version: 2.0.0](https://img.shields.io/badge/Version-2.0.0-informational?style=flat-square) ![AppVersion: 0.15.0](https://img.shields.io/badge/AppVersion-0.15.0-informational?style=flat-square)
Volsync Replication set to target specific PVC with preconfigured settings Volsync Replication set to target specific PVC with preconfigured settings
@@ -20,24 +20,25 @@ Volsync Replication set to target specific PVC with preconfigured settings
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| additionalLabels | object | `{}` | Add additional labels | | additionalLabels | object | `{}` | Add additional labels |
| external | object | `{"enabled":true,"externalSecret":{"bucketPath":"/digital-ocean/config","credentialPath":"/digital-ocean/home-infra/volsync-backups"},"restic":{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":7,"hourly":0,"monthly":3,"weekly":4,"yearly":1},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"},"schedule":"0 9 * * *"}` | External backup configuration | | external | object | `{"enabled":true,"externalSecret":{"bucketPath":"/backblaze/config","credentialPath":"/backblaze/home-infra/volsync-backups"},"restic":{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":35,"repository":"","retain":{"daily":0,"hourly":0,"monthly":0,"weekly":12,"yearly":0},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"},"schedule":"0 9 * * 0"}` | External backup configuration |
| external.externalSecret | object | `{"bucketPath":"/digital-ocean/config","credentialPath":"/digital-ocean/home-infra/volsync-backups"}` | External Secret configuration | | external.externalSecret | object | `{"bucketPath":"/backblaze/config","credentialPath":"/backblaze/home-infra/volsync-backups"}` | External Secret configuration |
| external.restic | object | `{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":7,"hourly":0,"monthly":3,"weekly":4,"yearly":1},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"}` | Backup configuration, inserted directly into the yaml | | external.restic | object | `{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":35,"repository":"","retain":{"daily":0,"hourly":0,"monthly":0,"weekly":12,"yearly":0},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"}` | Backup configuration, inserted directly into the yaml |
| external.schedule | string | `"0 9 * * *"` | 5 character cron schedule | | external.schedule | string | `"0 9 * * 0"` | 5 character cron schedule |
| externalSecrets | object | `{"enabled":true}` | Use external secrets | | externalSecrets | object | `{"enabled":true}` | Use external secrets |
| kubernetesClusterName | string | `"cl01tl"` | Kubernetes cluster name | | kubernetesClusterName | string | `"cl01tl"` | Kubernetes cluster name |
| local | object | `{"enabled":false,"externalSecret":{"bucketPath":"/garage/config","credentialPath":"/garage/home-infra/volsync-backups"},"restic":{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":7,"hourly":0,"monthly":3,"weekly":4,"yearly":1},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"},"schedule":"0 8 * * *"}` | Local backup configuration | | local | object | `{"enabled":false,"externalSecret":{"bucketPath":"/garage/config","credentialPath":"/garage/home-infra/volsync-backups"},"restic":{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":7,"hourly":0,"monthly":0,"weekly":4,"yearly":0},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"},"schedule":"0 8 * * *"}` | Local backup configuration |
| local.externalSecret | object | `{"bucketPath":"/garage/config","credentialPath":"/garage/home-infra/volsync-backups"}` | External Secret configuration | | local.externalSecret | object | `{"bucketPath":"/garage/config","credentialPath":"/garage/home-infra/volsync-backups"}` | External Secret configuration |
| local.restic | object | `{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":7,"hourly":0,"monthly":3,"weekly":4,"yearly":1},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"}` | Backup configuration, inserted directly into the yaml | | local.restic | object | `{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":7,"hourly":0,"monthly":0,"weekly":4,"yearly":0},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"}` | Backup configuration, inserted directly into the yaml |
| local.schedule | string | `"0 8 * * *"` | 5 character cron schedule | | local.schedule | string | `"0 8 * * *"` | 5 character cron schedule |
| moverSecurityContext | object | `{}` | Glocal security context for restic mover | | moverSecurityContext | object | `{}` | Glocal security context for restic mover |
| nameOverride | string | `""` | Default pattern follows <pvcTarget>-backup | | nameOverride | string | `""` | Default pattern follows <pvcTarget>-backup |
| namespaceOverride | string | `""` | Override the namespace of the chart | | namespaceOverride | string | `""` | Override the namespace of the chart |
| prometheusRule | object | `{"enabled":true}` | Prometheus Rule |
| pvcTarget | string | `"data"` | Name of the PVC target | | pvcTarget | string | `"data"` | Name of the PVC target |
| remote | object | `{"enabled":false,"externalSecret":{"bucketPath":"/garage/config","credentialPath":"/garage/home-infra/volsync-backups"},"restic":{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":7,"hourly":0,"monthly":3,"weekly":4,"yearly":1},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"},"schedule":"0 10 * * *"}` | Remote backup configuration | | remote | object | `{"enabled":false,"externalSecret":{"bucketPath":"/garage/config","credentialPath":"/garage/home-infra/volsync-backups"},"restic":{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":0,"hourly":0,"monthly":0,"weekly":12,"yearly":0},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"},"schedule":"0 10 * * 0"}` | Remote backup configuration |
| remote.externalSecret | object | `{"bucketPath":"/garage/config","credentialPath":"/garage/home-infra/volsync-backups"}` | External Secret configuration | | remote.externalSecret | object | `{"bucketPath":"/garage/config","credentialPath":"/garage/home-infra/volsync-backups"}` | External Secret configuration |
| remote.restic | object | `{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":7,"hourly":0,"monthly":3,"weekly":4,"yearly":1},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"}` | Backup configuration, inserted directly into the yaml | | remote.restic | object | `{"cacheCapacity":"1Gi","copyMethod":"Snapshot","pruneIntervalDays":7,"repository":"","retain":{"daily":0,"hourly":0,"monthly":0,"weekly":12,"yearly":0},"storageClassName":"ceph-block","volumeSnapshotClassName":"ceph-blockpool-snapshot"}` | Backup configuration, inserted directly into the yaml |
| remote.schedule | string | `"0 10 * * *"` | 5 character cron schedule | | remote.schedule | string | `"0 10 * * 0"` | 5 character cron schedule |
---------------------------------------------- ----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)

View File

@@ -0,0 +1,32 @@
{{- if .Values.prometheusRule.enabled }}
---
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: {{ include "volsync.name" . }}-source-local
namespace: {{ include "volsync.namespace" . }}
labels:
{{- include "volsync.labels" . | nindent 4 }}
app.kubernetes.io/name: {{ include "volsync.name" . }}-source-local
{{- with .Values.additionalLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
groups:
- name: volsync.alerts
rules:
- alert: VolSyncBackupPodFailed
expr: |
(kube_pod_container_status_last_terminated_exitcode > 0)
* on(pod, namespace) group_left(owner_name)
kube_pod_owner{owner_kind="Job", owner_name=~"volsync-.*"}
for: 1m
labels:
severity: critical
annotations:
summary: "VolSync Backup Pod failed in {{ `{{ $labels.namespace }}` }}"
description: |
A pod for the VolSync backup of PVC '{{ .Values.pvcTarget }}' failed with exit code {{ `{{ $value }}` }}.
Job: {{ `{{ $labels.owner_name }}` }}
Namespace: {{ `{{ $labels.namespace }}` }}
{{- end }}

View File

@@ -7,7 +7,7 @@ metadata:
namespace: {{ include "volsync.namespace" . }} namespace: {{ include "volsync.namespace" . }}
labels: labels:
{{- include "volsync.labels" . | nindent 4 }} {{- include "volsync.labels" . | nindent 4 }}
app.kubernetes.io/name: {{ include "volsync.name" . }} app.kubernetes.io/name: {{ include "volsync.name" . }}-source-local
{{- with .Values.additionalLabels }} {{- with .Values.additionalLabels }}
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}

View File

@@ -16,6 +16,10 @@ pvcTarget: "data"
# -- Glocal security context for restic mover # -- Glocal security context for restic mover
moverSecurityContext: {} moverSecurityContext: {}
# -- Prometheus Rule
prometheusRule:
enabled: true
# -- Use external secrets # -- Use external secrets
externalSecrets: externalSecrets:
enabled: true enabled: true
@@ -35,8 +39,8 @@ local:
hourly: 0 hourly: 0
daily: 7 daily: 7
weekly: 4 weekly: 4
monthly: 3 monthly: 0
yearly: 1 yearly: 0
copyMethod: Snapshot copyMethod: Snapshot
storageClassName: ceph-block storageClassName: ceph-block
volumeSnapshotClassName: ceph-blockpool-snapshot volumeSnapshotClassName: ceph-blockpool-snapshot
@@ -54,7 +58,7 @@ remote:
enabled: false enabled: false
# -- 5 character cron schedule # -- 5 character cron schedule
schedule: 0 10 * * * schedule: 0 10 * * 0
# -- Backup configuration, inserted directly into the yaml # -- Backup configuration, inserted directly into the yaml
restic: restic:
@@ -62,10 +66,10 @@ remote:
repository: "" repository: ""
retain: retain:
hourly: 0 hourly: 0
daily: 7 daily: 0
weekly: 4 weekly: 12
monthly: 3 monthly: 0
yearly: 1 yearly: 0
copyMethod: Snapshot copyMethod: Snapshot
storageClassName: ceph-block storageClassName: ceph-block
volumeSnapshotClassName: ceph-blockpool-snapshot volumeSnapshotClassName: ceph-blockpool-snapshot
@@ -83,18 +87,18 @@ external:
enabled: true enabled: true
# -- 5 character cron schedule # -- 5 character cron schedule
schedule: 0 9 * * * schedule: 0 9 * * 0
# -- Backup configuration, inserted directly into the yaml # -- Backup configuration, inserted directly into the yaml
restic: restic:
pruneIntervalDays: 7 pruneIntervalDays: 35
repository: "" repository: ""
retain: retain:
hourly: 0 hourly: 0
daily: 7 daily: 0
weekly: 4 weekly: 12
monthly: 3 monthly: 0
yearly: 1 yearly: 0
copyMethod: Snapshot copyMethod: Snapshot
storageClassName: ceph-block storageClassName: ceph-block
volumeSnapshotClassName: ceph-blockpool-snapshot volumeSnapshotClassName: ceph-blockpool-snapshot
@@ -103,6 +107,6 @@ external:
# -- External Secret configuration # -- External Secret configuration
externalSecret: externalSecret:
# This path must contain the ENDPOINT # This path must contain the ENDPOINT
bucketPath: /digital-ocean/config bucketPath: /backblaze/config
# This path must contain the AWS/S3 credentials and RESTIC_PASSWORD # This path must contain the AWS/S3 credentials and RESTIC_PASSWORD
credentialPath: /digital-ocean/home-infra/volsync-backups credentialPath: /backblaze/home-infra/volsync-backups