Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate Offering OSS alternatives to Redis in Argo CD installations #17970

Open
todaywasawesome opened this issue Apr 25, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@todaywasawesome
Copy link
Contributor

todaywasawesome commented Apr 25, 2024

Summary

The Redis License is changing from BSD-3-Clause to RSALv2 and SSPLv1 which are not open source under the OSI definition. We should consider open-source alternatives as a default replacement for Redis.

Motivation

First off, let's recognize @hairmare for bringing the suggestion to switch to ValKey in #17892. There are several reasons we should consider a replacement:

  • Deploying Argo CD should only require OSS software.
  • There are potential performance improvements to be made with an alternative.
  • Some ambiguity about CNCF license compatibility.

Proposal

There are at least two potential drop-in replacements for Redis that would still maintain compatibility with the Redis API.

Valkey is a CNCF fork of existing Redis BSD-3-Clause meant to be a drop in replacement that will maintain compatibility.

KeyDB is a performance-focused fork with several years of commits. It's primarily based on Redis 6 and does anticipate some impact from the Redis License change.

We should evaluate all potential options, including changing the way we leverage Redis today. We need a spike to review the implications of using these alternatives and measure performance impacts. In the meantime, we should keep in mind:

  • Argo CD is several versions behind on Redis as it is and security updates are going to be offered for supported BSD versions of Redis until Redis Community Edition 9.0 which should arrive sometime in 2026. We have time to make an informed decision.
  • The CNCF 3rd party license policy does not permit BUSL however I believe these 3rd party license issues only apply to libraries we build and package and not to binaries in a helm chart for instance.
  • There are many Argo CD users using enterprise versions of Redis.
@todaywasawesome todaywasawesome added the enhancement New feature or request label Apr 25, 2024
@todaywasawesome todaywasawesome changed the title Offer OSS alternatives to Redis Offer OSS alternatives to Redis in Argo CD installations Apr 25, 2024
@joebowbeer
Copy link
Contributor

Affected manifests:

@todaywasawesome todaywasawesome changed the title Offer OSS alternatives to Redis in Argo CD installations Investigate Offering OSS alternatives to Redis in Argo CD installations Apr 26, 2024
@todaywasawesome
Copy link
Contributor Author

Worth adding that the result may not be replacing redis at all. We're not required to by the license.

@rumstead
Copy link
Contributor

Worth adding that the result may not be replacing redis at all. We're not required to by the license.

Sharing the discussion where it was brought up

#17599 (comment)

@madolson
Copy link

Hey, I'm one of the maintainers of Valkey. I just wanted to drop by to add some more context. Feel free to @me with questions if you have any.

Argo CD is several versions behind on Redis as it is and security updates are going to be offered for supported BSD versions of Redis until Redis Community Edition 9.0 which should arrive sometime in 2026.

I want to highlight that most of the top contributors are no longer working on Redis Community Edition, and moved to Valkey. Yes there will be support, but we already have fixes in our 7.2.5 that weren't present in their latest 7.2 release. Also it seems you are on 7.0, which will have its support dropped sooner (Unless they changed their support policy, it'll be in 2025).

We have time to make an informed decision.

I think this is the right framing, don't rush the decision. My guidance so far has been to wait until you would normally do an upgrade and then treat the move to Valkey as a minor version bump. We are fully compatible, so it's easy to test on, but take your time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants