Compare commits

..

7 Commits

Author SHA1 Message Date
2574808017 fix: overlapping ports
All checks were successful
lint-and-test / lint-helm (push) Successful in 12s
lint-and-test / chart-testing (push) Successful in 23s
release-charts-rclone-bucket / release (push) Successful in 22s
renovate / renovate (push) Successful in 1m4s
2026-05-08 19:21:46 -05:00
b86adc263c feat: release 0.11.0
All checks were successful
lint-and-test / chart-testing (push) Successful in 25s
release-charts-rclone-bucket / release (push) Successful in 33s
lint-and-test / lint-helm (push) Successful in 36s
renovate / renovate (push) Successful in 48s
2026-05-08 18:44:18 -05:00
0c3cd87d11 feat: add prometheus rule 2026-05-08 18:43:56 -05:00
5be7f9fb44 Merge pull request 'chore(deps): update rclone/rclone to v1.74.1' (#204) from renovate/unified-rclonerclone into main
All checks were successful
lint-and-test / lint-helm (push) Successful in 13s
release-charts-rclone-bucket / release (push) Successful in 18s
lint-and-test / chart-testing (push) Successful in 23s
renovate / renovate (push) Successful in 47s
Reviewed-on: #204
2026-05-08 23:20:45 +00:00
db9509ca97 chore(deps): update rclone/rclone to v1.74.1
All checks were successful
lint-and-test / lint-helm (pull_request) Successful in 14s
lint-and-test / chart-testing (pull_request) Successful in 25s
2026-05-08 23:15:00 +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
11 changed files with 76 additions and 24 deletions

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: cloudflared name: cloudflared
version: 3.2.1 version: 3.2.2
description: Cloudflared Tunnel description: Cloudflared Tunnel
keywords: keywords:
- cloudflare - cloudflare

View File

@@ -1,6 +1,6 @@
# cloudflared # cloudflared
![Version: 3.2.1](https://img.shields.io/badge/Version-3.2.1-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

View File

@@ -53,7 +53,7 @@ serviceMonitor:
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: {{ include "cloudflared.name" . }} app.kubernetes.io/name: {{ include "cloudflared.name" . }}
app.kubernetes.io/instance: {{ include "cloudflared.name" . }} app.kubernetes.io/instance: {{ .Release.Namespace }}
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}' serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
endpoints: endpoints:
- port: metrics - port: metrics

View File

@@ -1,6 +1,6 @@
# generic-device-plugin # generic-device-plugin
![Version: 0.21.1](https://img.shields.io/badge/Version-0.21.1-informational?style=flat-square) ![AppVersion: 0.21.1](https://img.shields.io/badge/AppVersion-0.21.1-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
@@ -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:2e0c0b78043d5f0885b99c9ac3c1506844c9645081740d2394ce6e23b168bfe8"}` | 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

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: rclone-bucket name: rclone-bucket
version: 0.9.0 version: 0.11.1
description: Rclone CronJob to replicate buckets description: Rclone CronJob to replicate buckets
keywords: keywords:
- rclone-bucket - rclone-bucket
@@ -17,4 +17,4 @@ dependencies:
version: 5.0.0 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.74.0 appVersion: v1.74.1

View File

@@ -1,6 +1,6 @@
# rclone-bucket # rclone-bucket
![Version: 0.9.0](https://img.shields.io/badge/Version-0.9.0-informational?style=flat-square) ![AppVersion: v1.74.0](https://img.shields.io/badge/AppVersion-v1.74.0-informational?style=flat-square) ![Version: 0.11.1](https://img.shields.io/badge/Version-0.11.1-informational?style=flat-square) ![AppVersion: v1.74.1](https://img.shields.io/badge/AppVersion-v1.74.1-informational?style=flat-square)
Rclone CronJob to replicate buckets Rclone CronJob to replicate buckets
@@ -27,9 +27,10 @@ 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.74.0@sha256:d2e0e88359d0b2e67cfcd2c43d5405185eb8adfc207079df27c42da82c5207bc"}` | Default image | | image | object | `{"pullPolicy":"IfNotPresent","repository":"rclone/rclone","tag":"1.74.1@sha256:eb8788b795f0009324e9572b0e2acb9b56885327c2746b07d67a9d3b893a6602"}` | Default image |
| metrics | object | `{"enabled":true}` | Metrics | | metrics | object | `{"enabled":true}` | Metrics |
| nameOverride | string | `""` | Default pattern follows <pvcTarget>-backup | | nameOverride | string | `""` | Default pattern follows <pvcTarget>-backup |
| prometheusRule | object | `{"enabled":true}` | Prometheus Rule |
| 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 |
| rclone.destination | object | `{"bucketName":"bucket","forcePathStyle":true,"providerType":"Other"}` | Destination configuration | | rclone.destination | object | `{"bucketName":"bucket","forcePathStyle":true,"providerType":"Other"}` | Destination configuration |

View File

@@ -62,16 +62,16 @@ DEST_ENDPOINT
{{/* {{/*
Create chart name and version as used by the chart label. Create chart name and version as used by the chart label.
*/}} */}}
{{- define "secretRclone.chart" -}} {{- define "rclone.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 "secretRclone.labels" -}} {{- define "rclone.labels" -}}
helm.sh/chart: {{ include "secretRclone.chart" $ }} helm.sh/chart: {{ include "rclone.chart" $ }}
{{ include "secretRclone.selectorLabels" $ }} {{ include "rclone.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 "secretRclone.selectorLabels" -}} {{- define "rclone.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

@@ -39,8 +39,9 @@ controllers:
{{- end }} {{- end }}
{{- if .Values.metrics.enabled }} {{- if .Values.metrics.enabled }}
- --rc - --rc
- --rc-addr==0.0.0.0:5572
- --rc-enable-metrics - --rc-enable-metrics
- --metrics-addr=0.0.0.0:5572 - --metrics-addr=0.0.0.0:5573
{{- end }} {{- end }}
- --verbose - --verbose
env: env:
@@ -116,8 +117,9 @@ controllers:
- --verbose - --verbose
{{- if .Values.metrics.enabled }} {{- if .Values.metrics.enabled }}
- --rc - --rc
- --rc-addr==0.0.0.0:5574
- --rc-enable-metrics - --rc-enable-metrics
- --metrics-addr=0.0.0.0:5572 - --metrics-addr=0.0.0.0:5575
{{- end }} {{- end }}
env: env:
- name: RCLONE_CONFIG_DEST_TYPE - name: RCLONE_CONFIG_DEST_TYPE
@@ -154,20 +156,33 @@ service:
main: main:
controller: main controller: main
ports: ports:
metrics: rc-sync:
port: 5572 port: 5572
targetPort: 5572 targetPort: 5572
rc-prune:
port: 5574
targetPort: 5574
metrics-sync:
port: 5573
targetPort: 5573
metrics-prune:
port: 5575
targetPort: 5575
serviceMonitor: serviceMonitor:
main: main:
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: {{ include "rclone.name" . }} app.kubernetes.io/name: {{ include "rclone.name" . }}
app.kubernetes.io/instance: {{ include "rclone.name" . }} app.kubernetes.io/instance: {{ .Release.Namespace }}
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}' serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
endpoints: endpoints:
- port: metrics - port: metrics-sync
interval: 30s interval: 10s
scrapeTimeout: 10s scrapeTimeout: 5s
path: /metrics
- port: metrics-prune
interval: 10s
scrapeTimeout: 5s
path: /metrics path: /metrics
{{- end }} {{- end }}
{{- end -}} {{- end -}}

View File

@@ -6,7 +6,7 @@ metadata:
name: {{ include "rclone.sourceSecretName" . }} name: {{ include "rclone.sourceSecretName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
{{- include "secretRclone.labels" . | nindent 4 }} {{- include "rclone.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 }}
@@ -40,7 +40,7 @@ metadata:
name: {{ include "rclone.destinationSecretName" . }} name: {{ include "rclone.destinationSecretName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
{{- include "secretRclone.labels" . | nindent 4 }} {{- include "rclone.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 }}

View File

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

View File

@@ -7,7 +7,7 @@ additionalLabels: {}
# -- Default image # -- Default image
image: image:
repository: rclone/rclone repository: rclone/rclone
tag: 1.74.0@sha256:d2e0e88359d0b2e67cfcd2c43d5405185eb8adfc207079df27c42da82c5207bc tag: 1.74.1@sha256:eb8788b795f0009324e9572b0e2acb9b56885327c2746b07d67a9d3b893a6602
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# -- CronJob configuration # -- CronJob configuration
@@ -86,3 +86,7 @@ secret:
# -- Metrics # -- Metrics
metrics: metrics:
enabled: true enabled: true
# -- Prometheus Rule
prometheusRule:
enabled: true