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!"