From 2d4a7b694141f414f2dc3ade3a87a90a649a9f63 Mon Sep 17 00:00:00 2001 From: Harikrishnan Dhanasekaran Date: Sat, 8 Nov 2025 11:10:33 +0530 Subject: [PATCH] Feat : Add template for Valkey (#15) (#508) * feat: Add Valkey template (#15) * fixed the build issue --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> --- blueprints/valkey/docker-compose.yml | 24 ++++++++++++ blueprints/valkey/template.toml | 56 +++++++++++++++++++++++++++ blueprints/valkey/valkey.svg | 58 ++++++++++++++++++++++++++++ meta.json | 18 +++++++++ 4 files changed, 156 insertions(+) create mode 100644 blueprints/valkey/docker-compose.yml create mode 100644 blueprints/valkey/template.toml create mode 100644 blueprints/valkey/valkey.svg diff --git a/blueprints/valkey/docker-compose.yml b/blueprints/valkey/docker-compose.yml new file mode 100644 index 00000000..bcabc622 --- /dev/null +++ b/blueprints/valkey/docker-compose.yml @@ -0,0 +1,24 @@ +version: "3.8" + +services: + valkey: + image: valkey/valkey:8.1.4 + restart: unless-stopped + ports: + - 6379 + volumes: + - ../files/valkey.conf:/etc/valkey/valkey.conf + - valkey-data:/data + command: valkey-server /etc/valkey/valkey.conf + environment: + - VALKEY_PASSWORD=${VALKEY_PASSWORD} + healthcheck: + test: ["CMD-SHELL", "valkey-cli -a \"$$VALKEY_PASSWORD\" ping | grep PONG"] + interval: 10s + timeout: 3s + retries: 5 + start_period: 10s + +volumes: + valkey-data: {} + diff --git a/blueprints/valkey/template.toml b/blueprints/valkey/template.toml new file mode 100644 index 00000000..2d5af575 --- /dev/null +++ b/blueprints/valkey/template.toml @@ -0,0 +1,56 @@ +[variables] +valkey_password = "${password:32}" + +[config] +env = [ + "VALKEY_PASSWORD=${valkey_password}" +] +mounts = [] + +[[config.mounts]] +filePath = "valkey.conf" +content = """ +# Valkey configuration file +# For more information, see: https://github.com/valkey-io/valkey + +# Network +bind 0.0.0.0 +port 6379 +protected-mode yes + +# General +daemonize no +supervised no +pidfile /data/valkey.pid +loglevel notice +logfile "" + +# Snapshotting +save 900 1 +save 300 10 +save 60 10000 +stop-writes-on-bgsave-error yes +rdbcompression yes +rdbchecksum yes +dbfilename dump.rdb +dir /data + +# Replication +replica-serve-stale-data yes +replica-read-only yes + +# Security +requirepass ${valkey_password} + +# Memory management +maxmemory-policy noeviction + +# Append only file +appendonly yes +appendfilename "appendonly.aof" +appendfsync everysec +no-appendfsync-on-rewrite no +auto-aof-rewrite-percentage 100 +auto-aof-rewrite-min-size 64mb +""" + diff --git a/blueprints/valkey/valkey.svg b/blueprints/valkey/valkey.svg new file mode 100644 index 00000000..f8476080 --- /dev/null +++ b/blueprints/valkey/valkey.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/meta.json b/meta.json index 79971ee6..466993ce 100644 --- a/meta.json +++ b/meta.json @@ -5382,6 +5382,24 @@ "self-hosted" ] }, + { + "id": "valkey", + "name": "Valkey", + "version": "8.1.4", + "description": "Valkey is an open-source fork of Redis, backed by AWS and the Linux Foundation. It provides a high-performance, in-memory data structure store with Redis compatibility.", + "logo": "valkey.svg", + "links": { + "github": "https://github.com/valkey-io/valkey", + "website": "https://valkey.io/", + "docs": "https://github.com/valkey-io/valkey" + }, + "tags": [ + "database", + "cache", + "redis", + "in-memory" + ] + }, { "id": "vault", "name": "Vault",