diff --git a/charts/generic-device-plugin/README.md b/charts/generic-device-plugin/README.md index b2f1a06..771cce3 100644 --- a/charts/generic-device-plugin/README.md +++ b/charts/generic-device-plugin/README.md @@ -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.17](https://img.shields.io/badge/AppVersion-0.20.17-informational?style=flat-square) +![Version: 0.20.20](https://img.shields.io/badge/Version-0.20.20-informational?style=flat-square) ![AppVersion: 0.20.17](https://img.shields.io/badge/AppVersion-0.20.17-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:8e74085edef446b02116d0e851a7a5576b4681e07fe5be75c4e5f6791a8ad0f7"}` | Default image | +| image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:78127620563730680371e2915d48d69dc3ab513f12c742ca6bcacd156051fd4b"}` | 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 | diff --git a/charts/postgres-cluster/README.md b/charts/postgres-cluster/README.md index dfbb21a..90790ce 100644 --- a/charts/postgres-cluster/README.md +++ b/charts/postgres-cluster/README.md @@ -1,6 +1,6 @@ # postgres-cluster -![Version: 7.6.0](https://img.shields.io/badge/Version-7.6.0-informational?style=flat-square) ![AppVersion: v1.28.1](https://img.shields.io/badge/AppVersion-v1.28.1-informational?style=flat-square) +![Version: 7.8.0](https://img.shields.io/badge/Version-7.8.0-informational?style=flat-square) ![AppVersion: v1.28.1](https://img.shields.io/badge/AppVersion-v1.28.1-informational?style=flat-square) Cloudnative-pg Cluster @@ -24,12 +24,12 @@ Cloudnative-pg Cluster | backup.method | string | `"objectStore"` | Method to create backups, options currently are only objectStore | | backup.objectStore | string | `nil` | 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 | object | `{"additionalLabels":{},"affinity":{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"},"annotations":{},"certificates":{},"enablePDB":true,"enableSuperuserAccess":false,"image":{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"18.3-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 | | cluster.certificates | object | `{}` | The configuration for the CA and related certificates. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-CertificatesConfiguration | | cluster.enablePDB | bool | `true` | Allow to disable PDB, mainly useful for upgrade of single-instance clusters or development purposes See: https://cloudnative-pg.io/documentation/current/kubernetes_upgrade/#pod-disruption-budgets | | cluster.enableSuperuserAccess | bool | `false` | When this option is enabled, the operator will use the SuperuserSecret to update the postgres user password. If the secret is not present, the operator will automatically create one. When this option is disabled, the operator will ignore the SuperuserSecret content, delete it when automatically created, and then blank the password of the postgres user by setting it to NULL. | -| cluster.image | object | `{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"18.1-standard-trixie"}` | Default image | +| cluster.image | object | `{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"18.3-standard-trixie"}` | Default image | | cluster.imagePullPolicy | string | `"IfNotPresent"` | Image pull policy. One of Always, Never or IfNotPresent. If not defined, it defaults to IfNotPresent. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | | cluster.imagePullSecrets | list | `[]` | The list of pull secrets to be used to pull the images. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-LocalObjectReference | | cluster.initdb | object | `{"database":"app","owner":"app"}` | Bootstrap is the configuration of the bootstrap process when initdb is used. See: https://cloudnative-pg.io/documentation/current/bootstrap/ See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-bootstrapinitdb | diff --git a/charts/valkey/Chart.lock b/charts/valkey/Chart.lock new file mode 100644 index 0000000..ec527f3 --- /dev/null +++ b/charts/valkey/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: valkey + repository: https://valkey.io/valkey-helm/ + version: 0.9.3 +digest: sha256:705fdaa1d456e55dd1a8aba698e17b2309a336f614cba8fd3cdb7e072b323b36 +generated: "2026-03-03T16:02:43.407652-06:00" diff --git a/charts/valkey/Chart.yaml b/charts/valkey/Chart.yaml new file mode 100644 index 0000000..ec1b177 --- /dev/null +++ b/charts/valkey/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +name: valkey +version: 0.1.0 +description: Valkey chart with preconfigured settings +keywords: + - valkey + - redis + - storage + - kubernetes +sources: + - https://github.com/valkey-io/valkey + - https://github.com/valkey-io/valkey-helm +maintainers: + - name: alexlebens +dependencies: + - name: valkey + repository: https://valkey.io/valkey-helm/ + version: 0.9.3 +icon: https://dyltqmyl993wv.cloudfront.net/assets/stacks/valkey/img/valkey-stack-220x234.png +# renovate: datasource=github-releases depName=valkey-io/valkey +appVersion: 9.0.3 diff --git a/charts/valkey/README.md b/charts/valkey/README.md new file mode 100644 index 0000000..81c2928 --- /dev/null +++ b/charts/valkey/README.md @@ -0,0 +1,73 @@ +# valkey + +![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![AppVersion: 9.0.3](https://img.shields.io/badge/AppVersion-9.0.3-informational?style=flat-square) + +Valkey chart with preconfigured settings + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| alexlebens | | | + +## Source Code + +* +* + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://valkey.io/valkey-helm/ | valkey | 0.9.3 | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| valkey.dataStorage.accessModes[0] | string | `"ReadWriteOnce"` | | +| valkey.dataStorage.className | string | `"ceph-block"` | | +| valkey.dataStorage.enabled | bool | `true` | | +| valkey.dataStorage.keepPvc | bool | `false` | | +| valkey.dataStorage.requestedSize | string | `"1Gi"` | | +| valkey.image.registry | string | `"docker.io"` | | +| valkey.image.repository | string | `"valkey/valkey"` | | +| valkey.image.tag | string | `"9.0.3"` | | +| valkey.metrics.enabled | bool | `true` | | +| valkey.metrics.exporter.image.registry | string | `"ghcr.io"` | | +| valkey.metrics.exporter.image.repository | string | `"oliver006/redis_exporter"` | | +| valkey.metrics.exporter.image.tag | string | `"v1.79.0"` | | +| valkey.metrics.exporter.resources.requests.cpu | string | `"10m"` | | +| valkey.metrics.exporter.resources.requests.memory | string | `"64M"` | | +| valkey.metrics.podMonitor.enabled | bool | `true` | | +| valkey.metrics.prometheusRule.enabled | bool | `true` | | +| valkey.metrics.prometheusRule.rules[0].alert | string | `"ValkeyDown"` | | +| valkey.metrics.prometheusRule.rules[0].annotations.description | string | `"Valkey instance {{ \"{{ $labels.instance }}\" }} is down."` | | +| valkey.metrics.prometheusRule.rules[0].annotations.summary | string | `"Valkey instance {{ \"{{ $labels.instance }}\" }} down"` | | +| valkey.metrics.prometheusRule.rules[0].expr | string | `"redis_up{service=\"{{ include \"valkey.fullname\" . }}-metrics\"} == 0\n"` | | +| valkey.metrics.prometheusRule.rules[0].for | string | `"2m"` | | +| valkey.metrics.prometheusRule.rules[0].labels.severity | string | `"error"` | | +| valkey.metrics.prometheusRule.rules[1].alert | string | `"ValkeyMemoryHigh"` | | +| valkey.metrics.prometheusRule.rules[1].annotations.description | string | `"Valkey instance {{ \"{{ $labels.instance }}\" }} is using {{ \"{{ $value }}\" }}% of its available memory.\n"` | | +| valkey.metrics.prometheusRule.rules[1].annotations.summary | string | `"Valkey instance {{ \"{{ $labels.instance }}\" }} is using too much memory"` | | +| valkey.metrics.prometheusRule.rules[1].expr | string | `"redis_memory_used_bytes{service=\"{{ include \"valkey.fullname\" . }}-metrics\"} * 100\n/\nredis_memory_max_bytes{service=\"{{ include \"valkey.fullname\" . }}-metrics\"}\n> 90 <= 100\n"` | | +| valkey.metrics.prometheusRule.rules[1].for | string | `"2m"` | | +| valkey.metrics.prometheusRule.rules[1].labels.severity | string | `"error"` | | +| valkey.metrics.prometheusRule.rules[2].alert | string | `"ValkeyKeyEviction"` | | +| valkey.metrics.prometheusRule.rules[2].annotations.description | string | `"Valkey instance {{ \"{{ $labels.instance }}\" }} has evicted {{ \"{{ $value }}\" }} keys in the last 5 minutes.\n"` | | +| valkey.metrics.prometheusRule.rules[2].annotations.summary | string | `"Valkey instance {{ \"{{ $labels.instance }}\" }} has evicted keys"` | | +| valkey.metrics.prometheusRule.rules[2].expr | string | `"increase(redis_evicted_keys_total{service=\"{{ include \"valkey.fullname\" . }}-metrics\"}[5m]) > 0\n"` | | +| valkey.metrics.prometheusRule.rules[2].for | string | `"1s"` | | +| valkey.metrics.prometheusRule.rules[2].labels.severity | string | `"error"` | | +| valkey.metrics.serviceMonitor.enabled | bool | `true` | | +| valkey.replica.enabled | bool | `true` | | +| valkey.replica.persistence.accessModes[0] | string | `"ReadWriteOnce"` | | +| valkey.replica.persistence.size | string | `"1Gi"` | | +| valkey.replica.persistence.storageClass | string | `"ceph-block"` | | +| valkey.replica.replicas | int | `2` | | +| valkey.resources.requests.cpu | string | `"10m"` | | +| valkey.resources.requests.memory | string | `"128Mi"` | | +| valkey.serviceAccount.create | bool | `true` | | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) diff --git a/charts/valkey/values.yaml b/charts/valkey/values.yaml new file mode 100644 index 0000000..363e729 --- /dev/null +++ b/charts/valkey/values.yaml @@ -0,0 +1,76 @@ +valkey: + image: + registry: docker.io + repository: valkey/valkey + tag: 9.0.3 + serviceAccount: + create: true + resources: + requests: + cpu: 10m + memory: 128Mi + dataStorage: + enabled: true + requestedSize: 1Gi + className: ceph-block + accessModes: + - ReadWriteOnce + keepPvc: false + replica: + enabled: true + replicas: 2 + persistence: + size: 1Gi + storageClass: ceph-block + accessModes: + - ReadWriteOnce + metrics: + enabled: true + exporter: + image: + registry: ghcr.io + repository: oliver006/redis_exporter + tag: v1.79.0 + resources: + requests: + cpu: 10m + memory: 64M + serviceMonitor: + enabled: true + podMonitor: + enabled: true + prometheusRule: + enabled: true + rules: + - alert: ValkeyDown + annotations: + summary: Valkey instance {{ "{{ $labels.instance }}" }} down + description: Valkey instance {{ "{{ $labels.instance }}" }} is down. + expr: | + redis_up{service="{{ include "valkey.fullname" . }}-metrics"} == 0 + for: 2m + labels: + severity: error + - alert: ValkeyMemoryHigh + annotations: + summary: Valkey instance {{ "{{ $labels.instance }}" }} is using too much memory + description: | + Valkey instance {{ "{{ $labels.instance }}" }} is using {{ "{{ $value }}" }}% of its available memory. + expr: | + redis_memory_used_bytes{service="{{ include "valkey.fullname" . }}-metrics"} * 100 + / + redis_memory_max_bytes{service="{{ include "valkey.fullname" . }}-metrics"} + > 90 <= 100 + for: 2m + labels: + severity: error + - alert: ValkeyKeyEviction + annotations: + summary: Valkey instance {{ "{{ $labels.instance }}" }} has evicted keys + description: | + Valkey instance {{ "{{ $labels.instance }}" }} has evicted {{ "{{ $value }}" }} keys in the last 5 minutes. + expr: | + increase(redis_evicted_keys_total{service="{{ include "valkey.fullname" . }}-metrics"}[5m]) > 0 + for: 1s + labels: + severity: error