From f798ddd4922d793d5e6ccb7c4111810d549ff4f4 Mon Sep 17 00:00:00 2001 From: Gaspard d'Hautefeuille Date: Wed, 9 Jul 2025 07:55:37 +0200 Subject: [mod] migrate from Redis to Valkey (#4795) This patch migrates from `redis==5.2.1` [1] to `valkey==6.1.0` [2]. The migration to valkey is necessary because the company behind Redis has decided to abandon the open source license. After experiencing a drop in user numbers, they now want to run it under a dual license again. But this move demonstrates once again how unreliable the company is and how it treats open source developers. To review first, read the docs:: $ make docs.live Follow the instructions to remove redis: - http://0.0.0.0:8000/admin/settings/settings_redis.html Config and install a local valkey DB: - http://0.0.0.0:8000/admin/settings/settings_valkey.html [1] https://pypi.org/project/redis/ [2] https://pypi.org/project/valkey/ Co-authored-by: HLFH Co-authored-by: Markus Heiser --- utils/lib_valkey.sh | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100755 utils/lib_valkey.sh (limited to 'utils/lib_valkey.sh') diff --git a/utils/lib_valkey.sh b/utils/lib_valkey.sh new file mode 100755 index 000000000..7e7beb948 --- /dev/null +++ b/utils/lib_valkey.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: AGPL-3.0-or-later + +valkey.distro.setup() { + # shellcheck disable=SC2034 + + case $DIST_ID in + ubuntu|debian) + VALKEY_PACKAGES="valkey-server" + ;; + arch|fedora|centos) + VALKEY_PACKAGES="valkey" + ;; + *) + err_msg "$DIST_ID: valkey not yet implemented" + ;; + esac +} + +valkey.backports() { + + case $DIST_ID in + debian) + info_msg "APT:: install debian-stable-backports.source / ${DIST_ID}-${DIST_VERS} (${DIST_VERSION_CODENAME})" + install_template /etc/apt/sources.list.d/debian-stable-backports.sources + apt update + ;; + ubuntu) + info_msg "APT:: install ubuntu-stable-backports.source / ${DIST_ID}-${DIST_VERS} (${DIST_VERSION_CODENAME})" + install_template /etc/apt/sources.list.d/ubuntu-stable-backports.sources + apt update + ;; + *) + info_msg "APT:: valkey.backports no implementation / ${DIST_ID}-${DIST_VERS} (${DIST_VERSION_CODENAME})" + ;; + esac +} + +valkey.install(){ + info_msg "installing valkey ..." + valkey.distro.setup + + case $DIST_ID in + debian|ubuntu) + apt-cache show "${VALKEY_PACKAGES}" &> /dev/null || valkey.backports + pkg_install "${VALKEY_PACKAGES}" + + # do some fix ... + # chown -R valkey:valkey /var/log/valkey/ /var/lib/valkey/ /etc/valkey/ + + # https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#PrivateUsers= + sed -i 's/PrivateUsers=true/# PrivateUsers=true/' /lib/systemd/system/valkey-server.service + sed -i 's/PrivateUsers=true/# PrivateUsers=true/' /lib/systemd/system/valkey-server@.service + + systemd_activate_service valkey-server + ;; + arch|fedora|centos) + pkg_install "${VALKEY_PACKAGES}" + systemd_activate_service valkey + ;; + *) + # install backports if package is not in the current APT repos + pkg_install "${VALKEY_PACKAGES}" + ;; + esac + + # case $DIST_ID-$DIST_VERS in + # arch-*|fedora-*|centos-7) + # systemctl enable nginx + # systemctl start nginx + # ;; + # esac +} -- cgit v1.2.3