summaryrefslogtreecommitdiff
path: root/utils/lib_valkey.sh
diff options
context:
space:
mode:
Diffstat (limited to 'utils/lib_valkey.sh')
-rwxr-xr-xutils/lib_valkey.sh73
1 files changed, 73 insertions, 0 deletions
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
+}