Compare commits
49 Commits
7a8ce31ed2
...
valkey-0.2
| Author | SHA1 | Date | |
|---|---|---|---|
| ade9ae2e44 | |||
|
e64d253486
|
|||
| 6f9d24b6e7 | |||
| 27c147cc3c | |||
| 30c1ac44d6 | |||
| 8e27611035 | |||
|
ab365a9761
|
|||
| 0d7634fa97 | |||
|
3417914c73
|
|||
| d1e102b9c7 | |||
|
56845991ad
|
|||
| a985a29512 | |||
|
c0c4bf1694
|
|||
| 78b3c7db76 | |||
|
9e58e89470
|
|||
| 327cd8bd54 | |||
| a696a57f30 | |||
|
ab709625c2
|
|||
| 5c06f17e1e | |||
|
9591b3f478
|
|||
| ce0c5dc817 | |||
| 20ecfbeec5 | |||
| 487c275ee2 | |||
| c8edea8785 | |||
| dc231cb3d1 | |||
| 50afd0dc65 | |||
| b0f275dd2f | |||
|
2ee7073e5c
|
|||
| 310eae35ee | |||
| 801fbac176 | |||
|
c59322ef8b
|
|||
| 2681c3d246 | |||
| dc6604bb4a | |||
|
130b9d42c3
|
|||
| 59b36c889c | |||
| e7ce6459ea | |||
| 4133455ae7 | |||
| 9b7c149194 | |||
| 4032b7c96f | |||
| fe047ac795 | |||
| 38e560e455 | |||
| 00de7e77ba | |||
|
d3fde6f67f
|
|||
| 435f180165 | |||
|
715adb516d
|
|||
| 73c73129d4 | |||
| 57c2ce938f | |||
| 2fd3129e70 | |||
| 8223078549 |
@@ -51,9 +51,43 @@ 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 }}
|
||||
|
||||
128
.gitea/workflows/release-charts-valkey.yml
Normal file
128
.gitea/workflows/release-charts-valkey.yml
Normal file
@@ -0,0 +1,128 @@
|
||||
name: release-charts-valkey
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "charts/valkey/**"
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
WORKFLOW_DIR: "charts/valkey"
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-js
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Helm
|
||||
uses: azure/setup-helm@v4
|
||||
with:
|
||||
token: ${{ secrets.GITEA_TOKEN }}
|
||||
version: v3.19.2
|
||||
|
||||
- name: Add Repositories
|
||||
run: |
|
||||
cd ${WORKFLOW_DIR}
|
||||
|
||||
echo ">> Adding repositories for chart dependencies ..."
|
||||
helm dependency list --max-col-width 120 2> /dev/null \
|
||||
| tail +2 | head -n -1 \
|
||||
| awk '{ print "helm repo add " $1 " " $3 }' \
|
||||
| while read cmd; do echo "$cmd" | sh; done || true
|
||||
|
||||
if helm repo list | tail +2 | read -r; then
|
||||
echo ">> Update repository cache ..."
|
||||
helm repo update
|
||||
fi
|
||||
|
||||
echo "----"
|
||||
|
||||
- name: Package Helm Chart
|
||||
run: |
|
||||
cd ${WORKFLOW_DIR}
|
||||
|
||||
echo ">> Building helm dependency ..."
|
||||
helm dependency build --skip-refresh --debug
|
||||
|
||||
echo "----"
|
||||
|
||||
echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV
|
||||
|
||||
- name: Publish Helm Chart to Harbor
|
||||
run: |
|
||||
echo ">> Logging into Harbor ..."
|
||||
helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug
|
||||
|
||||
echo ""
|
||||
echo ">> Publishing chart to Harbor ..."
|
||||
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug
|
||||
|
||||
echo "----"
|
||||
|
||||
- name: Publish Helm Chart to Gitea
|
||||
run: |
|
||||
echo ">> Installing Chart Museum plugin ..."
|
||||
helm plugin install https://github.com/chartmuseum/helm-push --debug
|
||||
|
||||
echo ""
|
||||
echo ">> Adding Gitea repository ..."
|
||||
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug
|
||||
|
||||
echo ""
|
||||
echo ">> Pushing chart to gitea"
|
||||
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug
|
||||
|
||||
- name: Extract Chart Metadata
|
||||
run: |
|
||||
cd ${WORKFLOW_DIR}
|
||||
|
||||
echo ">> Adding Chart metadata to workflow ENV ..."
|
||||
echo ""
|
||||
echo ">> Chart Version: $(yq '.version' Chart.yaml)"
|
||||
echo ">> Chart Name: $(yq '.name' Chart.yaml)"
|
||||
|
||||
echo "----"
|
||||
|
||||
echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV
|
||||
echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV
|
||||
|
||||
- name: Release Helm Chart
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
name: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}
|
||||
tag_name: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}
|
||||
files: |-
|
||||
${{ env.PACKAGE_PATH }}
|
||||
|
||||
- name: ntfy Success
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: success()
|
||||
with:
|
||||
url: '${{ secrets.NTFY_URL }}'
|
||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||
title: 'Release Success - ${{ env.CHART_NAME }}'
|
||||
priority: 3
|
||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||
tags: action,successfully,completed
|
||||
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has been released!'
|
||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
||||
|
||||
- name: ntfy Failed
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: failure()
|
||||
with:
|
||||
url: '${{ secrets.NTFY_URL }}'
|
||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||
title: 'Release Failure - ${{ env.CHART_NAME }}'
|
||||
priority: 4
|
||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||
tags: action,failed
|
||||
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has failed to be released.'
|
||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
||||
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/helm-charts/actions?workflow=release-charts-volsync-target.yml", "clear": true}]'
|
||||
image: true
|
||||
@@ -13,7 +13,7 @@ on:
|
||||
jobs:
|
||||
renovate:
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/renovatebot/renovate:42
|
||||
container: ghcr.io/renovatebot/renovate:43
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.5.0
|
||||
digest: sha256:cd050e107fbec6769024a6d316c3f43701295a55cddf53a9fc304b52ea879560
|
||||
generated: "2025-12-04T18:06:50.235715-06:00"
|
||||
version: 4.6.2
|
||||
digest: sha256:35e8f4e5d15d878c246a04eb51de580291f31203fa10e9e4d2318f16026b2061
|
||||
generated: "2026-01-16T13:29:29.385123-06:00"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: cloudflared
|
||||
version: 2.1.5
|
||||
version: 2.3.0
|
||||
description: Cloudflared Tunnel
|
||||
keywords:
|
||||
- cloudflare
|
||||
@@ -13,6 +13,7 @@ maintainers:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.6.0
|
||||
version: 4.6.2
|
||||
icon: https://avatars.githubusercontent.com/u/314135?s=48&v=4
|
||||
appVersion: "2025.11.1"
|
||||
# renovate: datasource=github-releases depName=cloudflare/cloudflared
|
||||
appVersion: "2026.2.0"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# cloudflared
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
Cloudflared Tunnel
|
||||
|
||||
@@ -19,13 +19,13 @@ Cloudflared Tunnel
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.0 |
|
||||
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.2 |
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| image | object | `{"pullPolicy":"IfNotPresent","repository":"cloudflare/cloudflared","tag":"2025.11.1"}` | Default image |
|
||||
| image | object | `{"pullPolicy":"IfNotPresent","repository":"cloudflare/cloudflared","tag":"2026.2.0"}` | Default image |
|
||||
| name | string | `""` | Name override of release |
|
||||
| resources | object | `{"requests":{"cpu":"10m","memory":"128Mi"}}` | Default resources |
|
||||
| secret | object | `{"existingSecret":{"key":"cf-tunnel-token","name":"cloudflared-secret"},"externalSecret":{"additionalLabels":{},"enabled":true,"nameOverride":"","store":{"name":"vault","path":"/cloudflare/tunnels","property":"token"}}}` | Secret configuration |
|
||||
|
||||
@@ -26,7 +26,7 @@ secret:
|
||||
# -- Default image
|
||||
image:
|
||||
repository: cloudflare/cloudflared
|
||||
tag: "2025.11.1"
|
||||
tag: "2026.2.0"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- Default resources
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.5.0
|
||||
digest: sha256:cd050e107fbec6769024a6d316c3f43701295a55cddf53a9fc304b52ea879560
|
||||
generated: "2025-12-04T18:08:17.823318-06:00"
|
||||
version: 4.6.2
|
||||
digest: sha256:35e8f4e5d15d878c246a04eb51de580291f31203fa10e9e4d2318f16026b2061
|
||||
generated: "2026-01-16T13:29:01.760344-06:00"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: generic-device-plugin
|
||||
version: 0.20.11
|
||||
version: 0.20.20
|
||||
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.0
|
||||
appVersion: 0.20.4
|
||||
version: 4.6.2
|
||||
appVersion: 0.20.17
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# generic-device-plugin
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
Generic Device Plugin
|
||||
|
||||
@@ -19,7 +19,7 @@ Generic Device Plugin
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.0 |
|
||||
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.6.2 |
|
||||
|
||||
## 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:45abfa9c45aee2d8d9cc1f3d4587c4cf382b36d17b9d937e43d0c07126243037"}` | 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 |
|
||||
|
||||
@@ -4,7 +4,7 @@ name: generic-device-plugin
|
||||
# -- Default image
|
||||
image:
|
||||
repository: ghcr.io/squat/generic-device-plugin
|
||||
tag: latest@sha256:f1055553438c495c5258c4648a83f6aaf0a3c908d0c5313302ddf0feaa1758bd
|
||||
tag: latest@sha256:78127620563730680371e2915d48d69dc3ab513f12c742ca6bcacd156051fd4b
|
||||
pullPolicy: Always
|
||||
|
||||
# -- Domain used by devices for identifcation
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: postgres-cluster
|
||||
version: 7.4.5
|
||||
version: 7.8.0
|
||||
description: Cloudnative-pg Cluster
|
||||
keywords:
|
||||
- database
|
||||
@@ -11,4 +11,5 @@ sources:
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4
|
||||
appVersion: v1.28.0
|
||||
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
|
||||
appVersion: v1.28.1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# postgres-cluster
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
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 |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{{- define "cluster.externalClusters" -}}
|
||||
externalClusters:
|
||||
{{- if eq .Values.mode "standalone" }}
|
||||
{{- else if eq .Values.mode "recovery" }}
|
||||
externalClusters:
|
||||
{{- if eq .Values.recovery.method "import" }}
|
||||
- name: importSource
|
||||
{{- include "cluster.externalSourceCluster" .Values.recovery.import.source | nindent 4 }}
|
||||
|
||||
@@ -15,6 +15,14 @@ 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" }}
|
||||
|
||||
@@ -23,7 +23,7 @@ cluster:
|
||||
# -- Default image
|
||||
image:
|
||||
repository: ghcr.io/cloudnative-pg/postgresql
|
||||
tag: 18.1-standard-trixie
|
||||
tag: 18.3-standard-trixie
|
||||
|
||||
# -- 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: redis-replication
|
||||
version: 0.6.0
|
||||
version: 1.1.0
|
||||
description: Redis Replication with Sentinel
|
||||
keywords:
|
||||
- redis-operator
|
||||
@@ -12,4 +12,5 @@ sources:
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://github.com/OT-CONTAINER-KIT/redis-operator/raw/main/static/redis-operator-logo.svg
|
||||
# renovate: datasource=github-releases depName=OT-CONTAINER-KIT/redis-operator
|
||||
appVersion: v0.23.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# redis-replication
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
Redis Replication with Sentinel
|
||||
|
||||
@@ -22,19 +22,16 @@ 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"}},"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 | object | `{"clusterSize":3,"image":{"pullPolicy":"IfNotPresent","repository":"quay.io/opstree/redis","tag":"v8.4.2"},"podSecurityContext":{"fsGroup":1000,"runAsUser":1000},"redisExporter":{"enabled":true,"image":{"repository":"quay.io/opstree/redis-exporter","tag":"v1.81.0"},"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.2"},"resources":{"requests":{"cpu":"10m","memory":"32Mi"}},"size":3},"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.2"}` | 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.redisExporter | object | `{"enabled":true,"image":{"repository":"quay.io/opstree/redis-exporter","tag":"v1.81.0"},"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.2"},"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.2"}` | 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)
|
||||
|
||||
@@ -9,14 +9,6 @@ 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
|
||||
*/}}
|
||||
@@ -57,9 +49,3 @@ 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 }}
|
||||
|
||||
@@ -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,39 +20,38 @@ 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.redisSentinel.enabled }}
|
||||
{{ if .Values.redisReplication.sentinel.enabled -}}
|
||||
sentinel:
|
||||
image: "{{ .Values.redisSentinel.image.repository }}:{{ .Values.redisSentinel.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.redisSentinel.image.pullPolicy }}
|
||||
image: "{{ .Values.redisReplication.sentinel.image.repository }}:{{ .Values.redisReplication.sentinel.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.redisReplication.sentinel.image.pullPolicy }}
|
||||
|
||||
{{ if .Values.existingSecret.enabled }}
|
||||
{{- if .Values.existingSecret.enabled }}
|
||||
redisSecret:
|
||||
name: {{ .Values.existingSecret.name }}
|
||||
key: {{ .Values.existingSecret.key }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
resources:
|
||||
{{- with .Values.redisSentinel.resources }}
|
||||
{{- with .Values.redisReplication.sentinel.resources }}
|
||||
{{- toYaml . | nindent 10 }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
size: {{ .Values.redisSentinel.clusterSize }}
|
||||
size: {{ .Values.redisReplication.sentinel.size }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
# {{- 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 }}
|
||||
@@ -22,28 +22,3 @@ 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 }}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# -- Override the name of the resources
|
||||
replicationNameOverride: ""
|
||||
sentinelNameOverride: ""
|
||||
|
||||
# -- Override the namespace of the chart
|
||||
namespaceOverride: ""
|
||||
@@ -26,7 +25,7 @@ redisReplication:
|
||||
# -- Image
|
||||
image:
|
||||
repository: quay.io/opstree/redis
|
||||
tag: v8.4.0
|
||||
tag: v8.4.2
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- Resources
|
||||
@@ -50,43 +49,26 @@ redisReplication:
|
||||
enabled: true
|
||||
image:
|
||||
repository: quay.io/opstree/redis-exporter
|
||||
tag: v1.80.1
|
||||
tag: v1.81.0
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
scrapeTimeout: 10s
|
||||
extraLabels: {}
|
||||
|
||||
# -- Redis Sentinel settings
|
||||
redisSentinel:
|
||||
enabled: false
|
||||
clusterSize: 3
|
||||
# -- Redis Sentinel settings
|
||||
sentinel:
|
||||
enabled: false
|
||||
size: 3
|
||||
|
||||
# -- 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
|
||||
image:
|
||||
repository: quay.io/opstree/redis-exporter
|
||||
tag: v1.80.1
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
scrapeTimeout: 10s
|
||||
extraLabels: {}
|
||||
repository: quay.io/opstree/redis-sentinel
|
||||
tag: v8.4.2
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- Resources
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 32Mi
|
||||
|
||||
6
charts/valkey/Chart.lock
Normal file
6
charts/valkey/Chart.lock
Normal file
@@ -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"
|
||||
21
charts/valkey/Chart.yaml
Normal file
21
charts/valkey/Chart.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: v2
|
||||
name: valkey
|
||||
version: 0.2.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
|
||||
73
charts/valkey/README.md
Normal file
73
charts/valkey/README.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# valkey
|
||||
|
||||
 
|
||||
|
||||
Valkey chart with preconfigured settings
|
||||
|
||||
## Maintainers
|
||||
|
||||
| Name | Email | Url |
|
||||
| ---- | ------ | --- |
|
||||
| alexlebens | | |
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/valkey-io/valkey>
|
||||
* <https://github.com/valkey-io/valkey-helm>
|
||||
|
||||
## 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)
|
||||
76
charts/valkey/values.yaml
Normal file
76
charts/valkey/values.yaml
Normal file
@@ -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.81.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
|
||||
@@ -13,4 +13,5 @@ sources:
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://raw.githubusercontent.com/backube/volsync/main/docs/media/volsync.svg?sanitize=true
|
||||
# renovate: datasource=github-releases depName=backube/volsync
|
||||
appVersion: 0.14.0
|
||||
|
||||
@@ -5,6 +5,16 @@
|
||||
"mergeConfidence:all-badges",
|
||||
":rebaseStalePrs"
|
||||
],
|
||||
"customManagers": [
|
||||
{
|
||||
"customType": "regex",
|
||||
"managerFilePatterns": ["/(^|/)Chart\\.yaml$/"],
|
||||
"matchStrings": [
|
||||
"#\\s*renovate:\\s*datasource=(?<datasource>.*?) depName=(?<depName>.*?)\\s+appVersion:\\s*[\"']?(?<currentValue>[^\"'\\s]+)[\"']?"
|
||||
],
|
||||
"datasourceTemplate": "github-releases"
|
||||
}
|
||||
],
|
||||
"timezone": "US/Central",
|
||||
"labels": [],
|
||||
"prHourlyLimit": 0,
|
||||
@@ -36,6 +46,20 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Label images, helm",
|
||||
"matchManagers": ["custom.regex", "helm-values"],
|
||||
"groupName": "{{#if packageName}}{{{replace 'ghcr.io/' '' (replace 'docker.io/' '' packageName)}}}{{else}}{{{replace 'ghcr.io/' '' (replace 'docker.io/' '' depName)}}}{{/if}}",
|
||||
"groupSlug": "unified-{{{groupName}}}",
|
||||
"addLabels": ["image"],
|
||||
"bumpVersions": [
|
||||
{
|
||||
"filePatterns": ["{{packageFileDir}}/Chart.{yaml,yml}"],
|
||||
"matchStrings": ["version:\\s(?<version>[^\\s]+)"],
|
||||
"bumpType": "{{#if isPatch}}patch{{else}}minor{{/if}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Automerge generic-device-plugin image on digest",
|
||||
"matchDatasources": ["docker"],
|
||||
|
||||
Reference in New Issue
Block a user