Compare commits

..

1 Commits

Author SHA1 Message Date
2bb25a75b3 Update helm/chart-testing-action action to v2.8.0 2025-12-23 05:08:25 +00:00
15 changed files with 26 additions and 16 deletions

View File

@@ -42,7 +42,7 @@ jobs:
python-version: '3.14'
- name: Set up Chart Testing
uses: helm/chart-testing-action@v2.7.0
uses: helm/chart-testing-action@v2.8.0
with:
yamale_version: "6.0.0"

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: generic-device-plugin
version: 0.20.10
version: 0.20.9
description: Generic Device Plugin
keywords:
- generic-device-plugin

View File

@@ -1,6 +1,6 @@
# generic-device-plugin
![Version: 0.20.10](https://img.shields.io/badge/Version-0.20.10-informational?style=flat-square) ![AppVersion: 0.20.4](https://img.shields.io/badge/AppVersion-0.20.4-informational?style=flat-square)
![Version: 0.20.9](https://img.shields.io/badge/Version-0.20.9-informational?style=flat-square) ![AppVersion: 0.20.4](https://img.shields.io/badge/AppVersion-0.20.4-informational?style=flat-square)
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.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:45abfa9c45aee2d8d9cc1f3d4587c4cf382b36d17b9d937e43d0c07126243037"}` | Default image |
| image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:2b53d255017668d70d7f59ff0b874a66c3a50922d1f8cfff182e4c55b82251a1"}` | 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:45abfa9c45aee2d8d9cc1f3d4587c4cf382b36d17b9d937e43d0c07126243037
tag: latest@sha256:2b53d255017668d70d7f59ff0b874a66c3a50922d1f8cfff182e4c55b82251a1
pullPolicy: Always
# -- Domain used by devices for identifcation

View File

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

View File

@@ -1,6 +1,6 @@
# postgres-cluster
![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)
![Version: 7.4.2](https://img.shields.io/badge/Version-7.4.2-informational?style=flat-square) ![AppVersion: v1.28.0](https://img.shields.io/badge/AppVersion-v1.28.0-informational?style=flat-square)
Cloudnative-pg Cluster
@@ -19,10 +19,10 @@ Cloudnative-pg Cluster
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| backup | object | `{"externalSecret":{"enabled":true},"method":"objectStore","objectStore":null,"scheduledBackups":[]}` | Backup settings |
| backup | object | `{"externalSecret":{"enabled":true},"method":"objectStore","objectStore":[{"destinationBucket":"postres-backups","externalSecretCredentialPath":"/garage/home-infra/postgres-backups","index":1,"isWALArchiver":true,"name":"garage-local"}],"scheduledBackups":[]}` | Backup settings |
| backup.externalSecret | object | `{"enabled":true}` | Use generated External Secrets, credentialPath points at path in cluster store that contains the keys ACCESS_KEY_ID and ACCESS_SECRET_KEY |
| backup.method | string | `"objectStore"` | Method to create backups, options currently are only objectStore |
| backup.objectStore | string | `nil` | Options for object store backups |
| backup.objectStore | list | `[{"destinationBucket":"postres-backups","externalSecretCredentialPath":"/garage/home-infra/postgres-backups","index":1,"isWALArchiver":true,"name":"garage-local"}]` | Options for object store backups |
| backup.scheduledBackups | list | `[]` | List of scheduled backups |
| cluster | object | `{"additionalLabels":{},"affinity":{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"},"annotations":{},"certificates":{},"enablePDB":true,"enableSuperuserAccess":false,"image":{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"18.1-standard-trixie"},"imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"initdb":{"database":"app","owner":"app"},"instances":3,"logLevel":"info","monitoring":{"customQueries":[],"customQueriesSecret":[],"disableDefaultQueries":false,"enabled":true,"podMonitor":{"enabled":true,"metricRelabelings":[],"relabelings":[]},"prometheusRule":{"enabled":true,"excludeRules":["CNPGClusterLastFailedArchiveTimeWarning"]}},"postgresGID":-1,"postgresUID":-1,"postgresql":{"ldap":{},"parameters":{"hot_standby_feedback":"on","max_slot_wal_keep_size":"2000MB","shared_buffers":"128MB"},"pg_hba":[],"pg_ident":[],"shared_preload_libraries":[],"synchronous":{}},"primaryUpdateMethod":"switchover","primaryUpdateStrategy":"unsupervised","priorityClassName":"","resources":{"limits":{"hugepages-2Mi":"256Mi"},"requests":{"cpu":"100m","memory":"256Mi"}},"roles":[],"serviceAccountTemplate":{},"services":{},"storage":{"size":"10Gi","storageClass":"local-path"},"superuserSecret":"","walStorage":{"enabled":true,"size":"2Gi","storageClass":"local-path"}}` | Cluster settings |
| cluster.affinity | object | `{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"}` | Affinity/Anti-affinity rules for Pods. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-AffinityConfiguration |

View File

@@ -7,7 +7,7 @@ annotations:
Pod {{`{{`}} $labels.pod {{`}}`}}
has been waiting for longer than 5 minutes
expr: |
cnpg_backends_waiting_total{namespace="{{ .namespace }}"} > 300
cnpg_backends_waiting_total > 300
for: 1m
labels:
severity: warning

View File

@@ -7,7 +7,7 @@ annotations:
There are over 10 deadlock conflicts in
{{`{{`}} $labels.pod {{`}}`}}
expr: |
cnpg_pg_stat_database_deadlocks{namespace="{{ .namespace }}"} > 10
cnpg_pg_stat_database_deadlocks > 10
for: 1m
labels:
severity: warning

View File

@@ -6,7 +6,7 @@ annotations:
description: |-
Archiving failed for {{`{{`}} $labels.pod {{`}}`}}
expr: |
(cnpg_pg_stat_archiver_last_failed_time{namespace="{{ .namespace }}"} - cnpg_pg_stat_archiver_last_archived_time{namespace="{{ .namespace }}"}) > 2
(cnpg_pg_stat_archiver_last_failed_time - cnpg_pg_stat_archiver_last_archived_time) > 2
for: 1m
labels:
severity: warning

View File

@@ -7,7 +7,7 @@ annotations:
CloudNativePG Cluster Pod {{`{{`}} $labels.pod {{`}}`}}
is taking more than 5 minutes (300 seconds) for a query.
expr: |-
cnpg_backends_max_tx_duration_seconds{namespace="{{ .namespace }}"} > 300
cnpg_backends_max_tx_duration_seconds > 300
for: 1m
labels:
severity: warning

View File

@@ -7,7 +7,7 @@ annotations:
Over 300,000,000 transactions from frozen xid
on pod {{`{{`}} $labels.pod {{`}}`}}
expr: |
cnpg_pg_database_xid_age{namespace="{{ .namespace }}"} > 300000000
cnpg_pg_database_xid_age > 300000000
for: 1m
labels:
severity: warning

View File

@@ -7,7 +7,7 @@ annotations:
Replica {{`{{`}} $labels.pod {{`}}`}}
is failing to replicate
expr: |
cnpg_pg_replication_in_recovery{namespace="{{ .namespace }}"} > cnpg_pg_replication_is_wal_receiver_up{namespace="{{ .namespace }}"}
cnpg_pg_replication_in_recovery > cnpg_pg_replication_is_wal_receiver_up
for: 1m
labels:
severity: warning

View File

@@ -139,7 +139,7 @@ spec:
isWALArchiver: false
{{- end }}
parameters:
barmanObjectName: "{{ include "cluster.name" $ }}-backup-{{ $objectStore.name }}"
barmanObjectName: "{{ include "cluster.name" $ }}-{{ $objectStore.name }}-backup"
{{- if $objectStore.clusterName }}
serverName: "{{ $objectStore.clusterName }}-backup-{{ $objectStore.index }}"
{{- else }}

View File

@@ -46,9 +46,11 @@ spec:
secretAccessKey:
name: {{ include "cluster.backupSecretName" (dict "instance" . "global" $context) }}
key: ACCESS_SECRET_KEY
{{- if .endpointCredentialsIncludeRegion }}
region:
name: {{ include "cluster.backupSecretName" (dict "instance" . "global" $context) }}
key: ACCESS_REGION
{{- end }}
{{ end -}}
{{ end }}
@@ -93,7 +95,9 @@ spec:
secretAccessKey:
name: {{ include "cluster.recoverySecretName" . }}
key: ACCESS_SECRET_KEY
{{- if .Values.recovery.objectStore.endpointCredentialsIncludeRegion }}
region:
name: {{ include "cluster.recoverySecretName" . }}
key: ACCESS_REGION
{{- end }}
{{ end }}

View File

@@ -394,6 +394,12 @@ backup:
# -- Options for object store backups
objectStore:
- name: garage-local
index: 1
destinationBucket: postres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true
# -
# # -- Object store backup name
# name: external