Skip to content

[Backport release-1.7] feat(backups): back up Valkey with the Redis strategy - #5032

Merged
myasnikovdaniil merged 2 commits into
release-1.7from
backport-4898-to-release-1.7
Oct 21, 2026
Merged

myasnikovdaniil merged 2 commits into
release-1.7from
backport-4898-to-release-1.7

Conversation

@github-actions

Copy link
Copy Markdown

Description

Backport of #4898 to release-1.7.

Valkey runs on the same spotahome RedisFailover operator as Redis and
speaks the same replication protocol and RDB format, so it needs no
strategy kind of its own. The only difference the backup Job sees is the
chart's resource-name prefix: valkey-<app> instead of redis-<app> for the
sentinel Service and the auth Secret.

The Redis driver now accepts applicationRef kind Valkey as well as Redis
and hands the template .Release.Prefix, derived from the app's kind, which
cozy-default-redis uses for every name it builds. A kind with no known
prefix fails the render instead of producing an empty one. cozy-default
routes apps.cozystack.io/Valkey to cozy-default-redis. A restore must
target an app of the same kind as the backup's source: replaying a Redis
dump into Valkey, or the reverse, is not something the strategy can
promise across engine releases.

The shipped template reads the prefix as `.Release.Prefix | default
"redis-"`: during an upgrade the previous controller, which has no Prefix
in its render context and serves only Redis, renders the new CR, and a
bare reference would print "<no value>" into the names.

The redis:8 image already loads RDB v11, which both shipped Valkey
versions (7.2, 8.1) write.

Signed-off-by: Andrey Kolkov <[email protected]>
Assisted-By: LLM
(cherry picked from commit 0c2f131)
The Redis backup demo now takes APP_KIND=Valkey, which switches the app
kind and the chart prefix the helpers derive sentinel and Secret names
from. The demo BackupClass routes Valkey to the same demo strategy.

The valkey suite gains valkey-backup-roundtrip, which drives that demo
end to end: seed a marker, back it up, restore it in place and into a
copy. It writes to tenant-root's seaweedfs through seaweedfs-s3, so a
seaweedfs change now selects the valkey suite too, and since the
round-trip runs examples/backups/redis as its harness, an edit there
selects both the redis and the valkey suites. The reduced E2E install
keeps the backup stack for the valkey suite, as it does for the other
backup round-trip suites.

Signed-off-by: Andrey Kolkov <[email protected]>
Assisted-By: LLM
(cherry picked from commit 43b02bd)
@coderabbitai

coderabbitai Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: cozystack/cozystack/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 99f38572-1b44-45c7-a1e7-4b04e78e1995

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@myasnikovdaniil
myasnikovdaniil merged commit 2c3ff51 into release-1.7 Oct 21, 2026
2 checks passed
@myasnikovdaniil
myasnikovdaniil deleted the backport-4898-to-release-1.7 branch October 21, 2026 13:45
myasnikovdaniil added a commit that referenced this pull request Oct 21, 2026
…e targets and add VM backup/restore e2e round-trips (#5044)

Backport of #3427 to `release-1.7`. The three commits are cherry-picked
from 9af1c0f,
9cc3a9e and
58b4343.

All three apply cleanly on top of #5032, the backport of the Valkey
backup strategy, so there is no conflict to resolve. The diff is the
same 28 files, +2544/-397, as #3427.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants