github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/redis/scripts/redis-sentinel-start.sh (about) 1 #!/bin/sh 2 set -ex 3 {{- $clusterName := $.cluster.metadata.name }} 4 {{- $namespace := $.cluster.metadata.namespace }} 5 {{- /* find redis component */}} 6 {{- $redis_component := fromJson "{}" }} 7 {{- range $i, $e := $.cluster.spec.componentSpecs }} 8 {{- if eq $e.componentDefRef "redis" }} 9 {{- $redis_component = $e }} 10 {{- end }} 11 {{- end }} 12 {{- /* build redis engine service */}} 13 {{- $primary_svc := printf "%s-%s.%s.svc" $clusterName $redis_component.name $namespace }} 14 echo "Waiting for redis service {{ $primary_svc }} to be ready..." 15 if [ ! -z "$REDIS_DEFAULT_PASSWORD" ]; then 16 until redis-cli -h {{ $primary_svc }} -p 6379 -a $REDIS_DEFAULT_PASSWORD ping; do sleep 1; done 17 else 18 until redis-cli -h {{ $primary_svc }} -p 6379 ping; do sleep 1; done 19 fi 20 echo "redis service ready, Starting sentinel..." 21 echo "sentinel announce-ip $KB_POD_FQDN" >> /etc/sentinel/redis-sentinel.conf 22 exec redis-server /etc/sentinel/redis-sentinel.conf --sentinel 23 echo "Start sentinel succeeded!"