diff --git a/charts/incubator/valkey/.helmignore b/charts/incubator/valkey/.helmignore new file mode 100644 index 00000000000..feb7464da6f --- /dev/null +++ b/charts/incubator/valkey/.helmignore @@ -0,0 +1,32 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png +icon.webp +icon-small.webp diff --git a/charts/incubator/valkey/CHANGELOG.md b/charts/incubator/valkey/CHANGELOG.md new file mode 100644 index 00000000000..f3e8318aa10 --- /dev/null +++ b/charts/incubator/valkey/CHANGELOG.md @@ -0,0 +1,4 @@ +--- +title: Changelog +pagefind: false +--- diff --git a/charts/incubator/valkey/Chart.yaml b/charts/incubator/valkey/Chart.yaml new file mode 100644 index 00000000000..d2f8bfad978 --- /dev/null +++ b/charts/incubator/valkey/Chart.yaml @@ -0,0 +1,45 @@ +annotations: + artifacthub.io/links: |- + - name: support + url: https://discord.com/invite/tVsPTHWTtr + truecharts.org/category: unsorted + truecharts.org/max_helm_version: "3.17" + truecharts.org/max_kubernetes_version: 1.32.0 + truecharts.org/min_helm_version: "3.14" + truecharts.org/min_kubernetes_version: 1.24.0 + truecharts.org/train: incubator + trueforge.org/category: database + trueforge.org/max_helm_version: "4.1" + trueforge.org/max_kubernetes_version: 1.35.0 + trueforge.org/min_helm_version: "3.14" + trueforge.org/train: incubator +apiVersion: v2 +appVersion: latest +dependencies: + - name: common + version: 28.29.59 + repository: oci://oci.trueforge.org/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Open source, advanced key-value store. +home: https://trueforge.org/truetech/truecharts/charts/incubator/valkey +icon: https://trueforge.org/img/hotlink-ok/chart-icons/valkey.webp +keywords: + - valkey + - keyvalue + - database +kubeVersion: '>=1.27.0-0' +maintainers: + - name: TrueCharts + email: info@trueforge.org + url: https://trueforge.org +name: valkey +sources: + - https://github.com/bitnami/containers/tree/main/bitnami/valkey + - https://github.com/trueforge-org/truecharts/tree/master/charts/incubator/valkey + - https://hub.docker.com/r/bitnamisecure/valkey +type: application +version: 17.15.22 diff --git a/charts/incubator/valkey/README.md b/charts/incubator/valkey/README.md new file mode 100644 index 00000000000..000c7af9249 --- /dev/null +++ b/charts/incubator/valkey/README.md @@ -0,0 +1,50 @@ +--- +title: README +--- + +## General Info + +For more information about this Chart, please check the docs on the TrueCharts [website](https://trueforge.org/truecharts/charts/incubator/valkey) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/trueforge-org/truecharts/issues/new/choose)** + +## Installation + +### Helm-Chart installation + +To install TrueCharts Helm charts using Helm, you can use our OCI Repository. + +`helm install mychart oci://oci.trueforge.org/truecharts/valkey` + +For more information on how to install TrueCharts Helm charts, checkout the [instructions on the website](https://trueforge.org/truecharts/guides/) + +## Chart Specific Guides and information + +All our charts have dedicated documentation pages. +The documentation for this chart can be found here: +https://trueforge.org/truecharts/incubator/valkey + +## Configuration Options + +To view the chart specific options, please view Values.yaml included in the chart. +The most recent version of which, is available here: https://github.com/trueforge-org/truecharts/blob/master/charts/incubator/valkey/values.yaml + +All our Charts use a shared "common" library chart that contains most of the templating and options. +For the complete overview of all available options, please checkout the documentation for them on the [common docs on our website](https://trueforge.org/truecharts-common/) + +For information about the common chart and all defaults included with it, please review its values.yaml file available here: https://github.com/trueforge-org/truecharts/blob/master/charts/library/common/values.yaml + +## Support + +- See the [Website](https://trueforge.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/trueforge-org/truecharts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://trueforge.org/general/sponsor/) or contributing back to the project any way you can! + +_All Rights Reserved - The TrueCharts Project_ diff --git a/charts/incubator/valkey/ci/basic-values.yaml b/charts/incubator/valkey/ci/basic-values.yaml new file mode 100644 index 00000000000..eb4e9875c61 --- /dev/null +++ b/charts/incubator/valkey/ci/basic-values.yaml @@ -0,0 +1 @@ +password: "testpassword" diff --git a/charts/incubator/valkey/icon-small.webp b/charts/incubator/valkey/icon-small.webp new file mode 100644 index 00000000000..1b04e4ec49f Binary files /dev/null and b/charts/incubator/valkey/icon-small.webp differ diff --git a/charts/incubator/valkey/icon.webp b/charts/incubator/valkey/icon.webp new file mode 100644 index 00000000000..3ac00cc815f Binary files /dev/null and b/charts/incubator/valkey/icon.webp differ diff --git a/charts/incubator/valkey/templates/NOTES.txt b/charts/incubator/valkey/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/incubator/valkey/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/incubator/valkey/templates/common.yaml b/charts/incubator/valkey/templates/common.yaml new file mode 100644 index 00000000000..992373e7501 --- /dev/null +++ b/charts/incubator/valkey/templates/common.yaml @@ -0,0 +1,2 @@ + +{{ include "tc.v1.common.loader.all" . }} diff --git a/charts/incubator/valkey/values.yaml b/charts/incubator/valkey/values.yaml new file mode 100644 index 00000000000..c2a5a79fb4e --- /dev/null +++ b/charts/incubator/valkey/values.yaml @@ -0,0 +1,156 @@ +# yaml-language-server: $schema=./values.schema.json +image: + repository: docker.io/bitnamisecure/valkey + pullPolicy: IfNotPresent + tag: latest@sha256:1c41e7028ac48d7a9d79d855a432eef368aa440f37c8073ae1651879b02c72f4 + +workload: + main: + replicas: 1 + type: StatefulSet + strategy: RollingUpdate + podSpec: + containers: + main: + env: + # DEVNOTE: Bitnami Valkey keeps REDIS_* env variable names for compatibility. + REDIS_REPLICATION_MODE: master + ALLOW_EMPTY_PASSWORD: "yes" + REDIS_PORT: "{{ .Values.service.main.ports.main.targetPort }}" + REDIS_PASSWORD: "{{ .Values.password }}" + probes: + liveness: + enabled: true + type: exec + command: + - sh + - -c + - /health/ping_liveness_local.sh 2 + readiness: + enabled: true + type: exec + command: + - sh + - -c + - /health/ping_readiness_local.sh 2 + # -- Startup probe configuration + # @default -- See below + startup: + # -- Enable the startup probe + enabled: true + type: exec + command: + - sh + - -c + - /health/ping_readiness_local.sh 2 +securityContext: + container: + readOnlyRootFilesystem: false + runAsGroup: 0 +configmap: + health: + enabled: true + data: + ping_readiness_local.sh: |- + #!/bin/bash + [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD" + response=$( + timeout -s 3 $1 \ + redis-cli \ + -h localhost \ + -p $REDIS_PORT \ + ping + ) + if [ "$response" != "PONG" ]; then + echo "failed to connect using password: $REDIS_PASSWORD response: $response" + exit 1 + fi + ping_liveness_local.sh: |- + #!/bin/bash + [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD" + response=$( + timeout -s 3 $1 \ + redis-cli \ + -h localhost \ + -p $REDIS_PORT \ + ping + ) + if [ "$response" != "PONG" ] && [ "$response" != "LOADING Valkey is loading the dataset in memory" ]; then + echo "$response" + exit 1 + fi + ping_readiness_master.sh: |- + #!/bin/bash + [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD" + response=$( + timeout -s 3 $1 \ + redis-cli \ + -h $REDIS_MASTER_HOST \ + -p $REDIS_MASTER_PORT_NUMBER \ + ping + ) + if [ "$response" != "PONG" ]; then + echo "$response" + exit 1 + fi + ping_liveness_master.sh: |- + #!/bin/bash + [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD" + response=$( + timeout -s 3 $1 \ + redis-cli \ + -h $REDIS_MASTER_HOST \ + -p $REDIS_MASTER_PORT_NUMBER \ + ping + ) + if [ "$response" != "PONG" ] && [ "$response" != "LOADING Valkey is loading the dataset in memory" ]; then + echo "$response" + exit 1 + fi + ping_readiness_local_and_master.sh: |- + script_dir="$(dirname "$0")" + exit_status=0 + "$script_dir/ping_readiness_local.sh" $1 || exit_status=$? + "$script_dir/ping_readiness_master.sh" $1 || exit_status=$? + exit $exit_status + ping_liveness_local_and_master.sh: |- + script_dir="$(dirname "$0")" + exit_status=0 + "$script_dir/ping_liveness_local.sh" $1 || exit_status=$? + "$script_dir/ping_liveness_master.sh" $1 || exit_status=$? + exit $exit_status + +## DEVNOTE: This password needs to match the one set in Common if ever changing defaults +password: "PLACEHOLDERPASSWORD" +service: + main: + ports: + main: + port: 6379 + targetPort: 6379 +volumeClaimTemplates: + data: + enabled: true + accessModes: + - ReadWriteOnce + mountPath: "/bitnami/valkey" +persistence: + valkey-health: + enabled: true + type: configmap + objectName: health + mountPath: "/health" + defaultMode: "0755" + items: + - key: ping_readiness_local.sh + path: ping_readiness_local.sh + - key: ping_liveness_local.sh + path: ping_liveness_local.sh + - key: ping_readiness_master.sh + path: ping_readiness_master.sh + - key: ping_liveness_master.sh + path: ping_liveness_master.sh + - key: ping_liveness_local_and_master.sh + path: ping_liveness_local_and_master.sh + - key: ping_readiness_local_and_master.sh + path: ping_readiness_local_and_master.sh