diff --git a/postservice/91-redis-init b/postservice/91-redis-init new file mode 100755 index 0000000..d0ce85a --- /dev/null +++ b/postservice/91-redis-init @@ -0,0 +1,29 @@ +#!/bin/bash + +# +# Cluster init ! +# + +redisTrib="/usr/share/doc/redis-tools/examples/redis-trib.rb" +CONF="/etc/redis/cluster.conf" + +if [[ -f ${1} ]] +then + CONF=${1} +fi + +if [[ -f "${CONF}" ]] +then + LEADER=$(awk -F ':' '/^leader/ {print $2 ":" $3}' ${CONF}) + + REPLICA=$(${redisTrib} check ${LEADER} | awk '/additional replica/ {print $1}') + + if [[ ${REPLICA} -eq 0 ]] + then + # Create Cluster + yes yes | ${redisTrib} create --replicas 1 $(awk -F ':' '{printf "%s:%s ", $2, $3}' ${CONF}) + fi +else + echo "${CONF} is missing" + exit 0 +fi