Compare commits

..

1 Commits

Author SHA1 Message Date
33a1def712 Update helm/chart-testing-action action to v2.8.0 2026-01-08 21:03:29 +00:00
19 changed files with 160 additions and 95 deletions

View File

@@ -51,43 +51,9 @@ jobs:
run: |
changed=$(ct list-changed --target-branch ${{ gitea.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
echo ""
echo ">> Changed Charts:"
echo "$(echo "${changed}" | sort -u)"
echo "----"
echo "changed=true" >> $GITHUB_OUTPUT
echo "changed-charts=$changed" >> $GITHUB_OUTPUT
fi
- name: Add Repositories
if: steps.list-changed.outputs.changed == 'true'
env:
CHANGED_CHARTS: ${{ steps.list-changed.outputs.changed-charts }}
run: |
echo ">> Adding repositories for chart dependencies ..."
for dir in ${CHANGED_CHARTS}; do
helm dependency list --max-col-width 120 $dir 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do
if [[ "$cmd" == "*oci://*" ]]; then
echo ">> Ignoring OCI repo"
else
echo "$cmd" | sh;
fi
done || true
done
if helm repo list | tail +2 | read -r; then
echo ""
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Run Chart Testing (lint)
if: steps.list-changed.outputs.changed == 'true'
run: ct lint --validate-maintainers=false --target-branch ${{ gitea.event.repository.default_branch }}

View File

@@ -1,6 +1,6 @@
dependencies:
- name: common
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
digest: sha256:35e8f4e5d15d878c246a04eb51de580291f31203fa10e9e4d2318f16026b2061
generated: "2026-01-16T13:29:29.385123-06:00"
version: 4.6.0
digest: sha256:a1675afcbd6e7a3d61fd241f646271c1975ef24f37d2d8cd56a8ff3e48bed794
generated: "2026-01-08T14:57:38.964824-06:00"

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: cloudflared
version: 2.2.0
version: 2.1.6
description: Cloudflared Tunnel
keywords:
- cloudflare
@@ -13,6 +13,6 @@ maintainers:
dependencies:
- name: common
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
version: 4.6.0
icon: https://avatars.githubusercontent.com/u/314135?s=48&v=4
appVersion: "2025.11.1"

View File

@@ -1,6 +1,6 @@
# cloudflared
![Version: 2.1.9](https://img.shields.io/badge/Version-2.1.9-informational?style=flat-square) ![AppVersion: 2025.11.1](https://img.shields.io/badge/AppVersion-2025.11.1-informational?style=flat-square)
![Version: 2.1.6](https://img.shields.io/badge/Version-2.1.6-informational?style=flat-square) ![AppVersion: 2025.11.1](https://img.shields.io/badge/AppVersion-2025.11.1-informational?style=flat-square)
Cloudflared Tunnel
@@ -19,7 +19,7 @@ Cloudflared Tunnel
| Repository | Name | Version |
|------------|------|---------|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.2 |
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.0 |
## Values

View File

@@ -26,7 +26,7 @@ secret:
# -- Default image
image:
repository: cloudflare/cloudflared
tag: "2026.1.1"
tag: "2025.11.1"
pullPolicy: IfNotPresent
# -- Default resources

View File

@@ -1,6 +1,6 @@
dependencies:
- name: common
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
digest: sha256:35e8f4e5d15d878c246a04eb51de580291f31203fa10e9e4d2318f16026b2061
generated: "2026-01-16T13:29:01.760344-06:00"
version: 4.6.0
digest: sha256:a1675afcbd6e7a3d61fd241f646271c1975ef24f37d2d8cd56a8ff3e48bed794
generated: "2026-01-08T14:57:09.560708-06:00"

View File

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

View File

@@ -1,6 +1,6 @@
# generic-device-plugin
![Version: 0.20.17](https://img.shields.io/badge/Version-0.20.17-informational?style=flat-square) ![AppVersion: 0.20.16](https://img.shields.io/badge/AppVersion-0.20.16-informational?style=flat-square)
![Version: 0.20.12](https://img.shields.io/badge/Version-0.20.12-informational?style=flat-square) ![AppVersion: 0.20.12](https://img.shields.io/badge/AppVersion-0.20.12-informational?style=flat-square)
Generic Device Plugin
@@ -19,7 +19,7 @@ Generic Device Plugin
| Repository | Name | Version |
|------------|------|---------|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.2 |
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.0 |
## 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.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 |
| image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:8e74085edef446b02116d0e851a7a5576b4681e07fe5be75c4e5f6791a8ad0f7"}` | Default image |
| image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:f1055553438c495c5258c4648a83f6aaf0a3c908d0c5313302ddf0feaa1758bd"}` | Default image |
| name | string | `"generic-device-plugin"` | Name override of release |
| resources | object | `{"requests":{"cpu":"50m","memory":"10Mi"}}` | Default resources |
| service | object | `{"listenPort":8080}` | Service port |

View File

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

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: postgres-cluster
version: 7.5.0
version: 7.4.5
description: Cloudnative-pg Cluster
keywords:
- database

View File

@@ -1,6 +1,6 @@
# postgres-cluster
![Version: 7.5.0](https://img.shields.io/badge/Version-7.5.0-informational?style=flat-square) ![AppVersion: v1.28.0](https://img.shields.io/badge/AppVersion-v1.28.0-informational?style=flat-square)
![Version: 7.4.5](https://img.shields.io/badge/Version-7.4.5-informational?style=flat-square) ![AppVersion: v1.28.0](https://img.shields.io/badge/AppVersion-v1.28.0-informational?style=flat-square)
Cloudnative-pg Cluster

View File

@@ -15,14 +15,6 @@ metadata:
{{- end }}
spec:
retentionPolicy: {{ .retentionPolicy | default "7d" }}
# Required when not using AWS S3
# https://github.com/cloudnative-pg/cloudnative-pg/issues/8599
instanceSidecarConfiguration:
env:
- name: AWS_REQUEST_CHECKSUM_CALCULATION
value: when_required
- name: AWS_RESPONSE_CHECKSUM_VALIDATION
value: when_required
configuration:
destinationPath: {{ include "cluster.backupDestinationPath" (dict "instance" . "global" $context) }}
endpointURL: {{ .endpointURL | default "http://garage-main.garage:3900" }}

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: redis-replication
version: 1.0.1
version: 0.6.0
description: Redis Replication with Sentinel
keywords:
- redis-operator

View File

@@ -1,6 +1,6 @@
# redis-replication
![Version: 1.0.1](https://img.shields.io/badge/Version-1.0.1-informational?style=flat-square) ![AppVersion: v0.23.0](https://img.shields.io/badge/AppVersion-v0.23.0-informational?style=flat-square)
![Version: 0.6.0](https://img.shields.io/badge/Version-0.6.0-informational?style=flat-square) ![AppVersion: v0.23.0](https://img.shields.io/badge/AppVersion-v0.23.0-informational?style=flat-square)
Redis Replication with Sentinel
@@ -22,16 +22,19 @@ Redis Replication with Sentinel
| additionalLabels | object | `{}` | Add additional labels |
| existingSecret | object | `{"enabled":false,"key":"password","name":"secret-name"}` | Password |
| namespaceOverride | string | `""` | Override the namespace of the chart |
| redisReplication | object | `{"clusterSize":3,"image":{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis","tag":"v8.4.0"},"podSecurityContext":{"fsGroup":1000,"runAsUser":1000},"redisExporter":{"enabled":true,"image":{"repository":"quay.io/opstree/redis-exporter","tag":"v1.80.1"},"serviceMonitor":{"enabled":true,"extraLabels":{},"interval":"30s","scrapeTimeout":"10s"}},"resources":{"requests":{"cpu":"10m","memory":"32Mi"}},"sentinel":{"enabled":false,"image":{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis-sentinel","tag":"v8.4.0"},"resources":{"requests":{"cpu":"10m","memory":"32Mi"}},"size":3},"volumeClaimTemplate":{"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"1Gi"}},"storageClassName":"ceph-block"}}}` | Redis Replication settings |
| redisReplication | object | `{"clusterSize":3,"image":{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis","tag":"v8.4.0"},"podSecurityContext":{"fsGroup":1000,"runAsUser":1000},"redisExporter":{"enabled":true,"image":{"repository":"quay.io/opstree/redis-exporter","tag":"v1.80.1"},"serviceMonitor":{"enabled":true,"extraLabels":{},"interval":"30s","scrapeTimeout":"10s"}},"resources":{"requests":{"cpu":"10m","memory":"32Mi"}},"volumeClaimTemplate":{"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"1Gi"}},"storageClassName":"ceph-block"}}}` | Redis Replication settings |
| redisReplication.image | object | `{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis","tag":"v8.4.0"}` | Image |
| redisReplication.podSecurityContext | object | `{"fsGroup":1000,"runAsUser":1000}` | Security |
| redisReplication.redisExporter | object | `{"enabled":true,"image":{"repository":"quay.io/opstree/redis-exporter","tag":"v1.80.1"},"serviceMonitor":{"enabled":true,"extraLabels":{},"interval":"30s","scrapeTimeout":"10s"}}` | Metrics |
| redisReplication.resources | object | `{"requests":{"cpu":"10m","memory":"32Mi"}}` | Resources |
| redisReplication.sentinel | object | `{"enabled":false,"image":{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis-sentinel","tag":"v8.4.0"},"resources":{"requests":{"cpu":"10m","memory":"32Mi"}},"size":3}` | Redis Sentinel settings |
| redisReplication.sentinel.image | object | `{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis-sentinel","tag":"v8.4.0"}` | Image |
| redisReplication.sentinel.resources | object | `{"requests":{"cpu":"10m","memory":"32Mi"}}` | Resources |
| redisReplication.volumeClaimTemplate | object | `{"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"1Gi"}},"storageClassName":"ceph-block"}}` | Storage |
| redisSentinel | object | `{"clusterSize":3,"enabled":false,"image":{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis-sentinel","tag":"v8.4.0"},"podSecurityContext":{"fsGroup":1000,"runAsUser":1000},"redisExporter":{"enabled":true,"image":{"repository":"quay.io/opstree/redis-exporter","tag":"v1.80.1"},"serviceMonitor":{"enabled":true,"extraLabels":{},"interval":"30s","scrapeTimeout":"10s"}},"resources":{"requests":{"cpu":"10m","memory":"32Mi"}}}` | Redis Sentinel settings |
| redisSentinel.image | object | `{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis-sentinel","tag":"v8.4.0"}` | Image |
| redisSentinel.podSecurityContext | object | `{"fsGroup":1000,"runAsUser":1000}` | Security |
| redisSentinel.redisExporter | object | `{"enabled":true,"image":{"repository":"quay.io/opstree/redis-exporter","tag":"v1.80.1"},"serviceMonitor":{"enabled":true,"extraLabels":{},"interval":"30s","scrapeTimeout":"10s"}}` | Metrics |
| redisSentinel.resources | object | `{"requests":{"cpu":"10m","memory":"32Mi"}}` | Resources |
| replicationNameOverride | string | `""` | Override the name of the resources |
| sentinelNameOverride | string | `""` | |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)

View File

@@ -9,6 +9,14 @@ Expand the names
{{- end }}
{{- end }}
{{- define "redis.sentinelName" -}}
{{- if .Values.sentinelNameOverride }}
{{- .Values.sentinelNameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "redis-sentinel-%s" .Release.Name -}}
{{- end }}
{{- end }}
{{/*
Allow the release namespace to be overridden for multi-namespace deployments in combined charts
*/}}
@@ -49,3 +57,9 @@ app.kubernetes.io/name: {{ include "redis.replicationName" $ }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }}
{{- define "redis.sentinelSelectorLabels" -}}
app.kubernetes.io/name: {{ include "redis.sentinelName" $ }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }}

View File

@@ -12,7 +12,7 @@ spec:
podSecurityContext:
{{- with .Values.redisReplication.podSecurityContext }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{ end }}
kubernetesConfig:
image: "{{ .Values.redisReplication.image.repository }}:{{ .Values.redisReplication.image.tag }}"
@@ -20,38 +20,39 @@ spec:
resources:
{{- with .Values.redisReplication.resources }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{- if .Values.existingSecret.enabled }}
{{ end }}
{{ if .Values.existingSecret.enabled }}
redisSecret:
name: {{ .Values.existingSecret.name }}
key: {{ .Values.existingSecret.key }}
{{- end }}
{{ end }}
storage:
volumeClaimTemplate:
{{- with .Values.redisReplication.volumeClaimTemplate }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{ end }}
redisExporter:
enabled: {{ .Values.redisReplication.redisExporter.enabled }}
image: "{{ .Values.redisReplication.redisExporter.image.repository }}:{{ .Values.redisReplication.redisExporter.image.tag }}"
{{ if .Values.redisReplication.sentinel.enabled -}}
{{- if .Values.redisSentinel.enabled }}
sentinel:
image: "{{ .Values.redisReplication.sentinel.image.repository }}:{{ .Values.redisReplication.sentinel.image.tag }}"
imagePullPolicy: {{ .Values.redisReplication.sentinel.image.pullPolicy }}
image: "{{ .Values.redisSentinel.image.repository }}:{{ .Values.redisSentinel.image.tag }}"
imagePullPolicy: {{ .Values.redisSentinel.image.pullPolicy }}
{{- if .Values.existingSecret.enabled }}
{{ if .Values.existingSecret.enabled }}
redisSecret:
name: {{ .Values.existingSecret.name }}
key: {{ .Values.existingSecret.key }}
{{- end }}
{{ end }}
resources:
{{- with .Values.redisReplication.sentinel.resources }}
{{- with .Values.redisSentinel.resources }}
{{- toYaml . | nindent 10 }}
{{- end }}
{{ end }}
size: {{ .Values.redisReplication.sentinel.size }}
size: {{ .Values.redisSentinel.clusterSize }}
{{- end }}

View File

@@ -0,0 +1,46 @@
# {{- if .Values.redisSentinel.enabled }}
# ---
# apiVersion: redis.redis.opstreelabs.in/v1beta2
# kind: RedisSentinel
# metadata:
# name: {{ include "redis.sentinelName" . }}
# namespace: {{ include "redis.namespace" . }}
# labels:
# {{- include "redis.labels" . | nindent 4 }}
# {{- include "redis.sentinelSelectorLabels" . | nindent 4 }}
# spec:
# clusterSize: {{ .Values.redisSentinel.clusterSize }}
# podSecurityContext:
# {{- with .Values.redisSentinel.podSecurityContext }}
# {{- toYaml . | nindent 10 }}
# {{ end }}
# redisSentinelConfig:
# redisReplicationName: {{ include "redis.replicationName" . }}
# {{ if .Values.existingSecret.enabled }}
# redisReplicationPassword:
# secretKeyRef:
# name: {{ .Values.existingSecret.name }}
# key: {{ .Values.existingSecret.key }}
# {{ end }}
# kubernetesConfig:
# image: "{{ .Values.redisSentinel.image.repository }}:{{ .Values.redisSentinel.image.tag }}"
# imagePullPolicy: {{ .Values.redisSentinel.image.pullPolicy }}
# resources:
# {{- with .Values.redisSentinel.resources }}
# {{- toYaml . | nindent 10 }}
# {{ end }}
# {{ if .Values.existingSecret.enabled }}
# redisSecret:
# name: {{ .Values.existingSecret.name }}
# key: {{ .Values.existingSecret.key }}
# {{ end }}
# redisExporter:
# enabled: {{ .Values.redisSentinel.redisExporter.enabled }}
# image: "{{ .Values.redisSentinel.redisExporter.image.repository }}:{{ .Values.redisSentinel.redisExporter.image.tag }}"
# {{- end }}

View File

@@ -22,3 +22,28 @@ spec:
interval: {{ .Values.redisReplication.redisExporter.serviceMonitor.interval }}
scrapeTimeout: {{ .Values.redisReplication.redisExporter.serviceMonitor.scrapeTimeout }}
{{- end }}
# {{- if and (.Values.redisSentinel.redisExporter.serviceMonitor.enabled) (.Values.redisSentinel.enabled) }}
# ---
# apiVersion: monitoring.coreos.com/v1
# kind: ServiceMonitor
# metadata:
# name: {{ include "redis.sentinelName" . }}
# namespace: {{ include "redis.namespace" . }}
# labels:
# {{- include "redis.labels" . | nindent 4 }}
# {{- include "redis.sentinelSelectorLabels" . | nindent 4 }}
# {{- with .Values.redisSentinel.redisExporter.serviceMonitor.extraLabels }}
# {{- toYaml . | nindent 4 }}
# {{- end }}
# spec:
# selector:
# matchLabels:
# app: {{ include "redis.sentinelName" . }}
# redis_setup_type: sentinel
# role: sentinel
# endpoints:
# - port: redis-exporter
# interval: {{ .Values.redisSentinel.redisExporter.serviceMonitor.interval }}
# scrapeTimeout: {{ .Values.redisSentinel.redisExporter.serviceMonitor.scrapeTimeout }}
# {{- end }}

View File

@@ -1,5 +1,6 @@
# -- Override the name of the resources
replicationNameOverride: ""
sentinelNameOverride: ""
# -- Override the namespace of the chart
namespaceOverride: ""
@@ -56,19 +57,36 @@ redisReplication:
scrapeTimeout: 10s
extraLabels: {}
# -- Redis Sentinel settings
sentinel:
enabled: false
size: 3
# -- Redis Sentinel settings
redisSentinel:
enabled: false
clusterSize: 3
# -- Image
# -- Security
podSecurityContext:
runAsUser: 1000
fsGroup: 1000
# -- Image
image:
repository: quay.io/opstree/redis-sentinel
tag: v8.4.0
pullPolicy: IfNotPresent
# -- Resources
resources:
requests:
cpu: 10m
memory: 32Mi
# -- Metrics
redisExporter:
enabled: true
image:
repository: quay.io/opstree/redis-sentinel
tag: v8.4.0
pullPolicy: IfNotPresent
# -- Resources
resources:
requests:
cpu: 10m
memory: 32Mi
repository: quay.io/opstree/redis-exporter
tag: v1.80.1
serviceMonitor:
enabled: true
interval: 30s
scrapeTimeout: 10s
extraLabels: {}