summaryrefslogtreecommitdiff
path: root/utils/lib_valkey.sh
blob: 7e7beb9483eb692d3475aa01ead1e15847bb0a0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
}