github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/polardbx/scripts/xstore-post-start.tpl (about)

     1  #!/bin/sh
     2  # usage: xstore-post-start.sh type_name
     3  # type_name: component.type, in uppercase.
     4  
     5  TYPE_NAME=$1
     6  
     7  # setup shared-channel.json
     8  SHARED_CHANNEL_JSON='{"nodes": ['
     9  
    10  i=0
    11  while [ $i -lt $(eval echo \$KB_"$TYPE_NAME"_N) ]; do
    12    hostname=$(eval echo \$KB_"$TYPE_NAME"_"$i"_HOSTNAME)
    13    pod=$(echo "$hostname" | cut -d'.' -f1)
    14  
    15    NODE_OBJECT=$(printf '{"pod": "%s", "host": "%s", "port": 11306, "role": "candidate", "node_name": "%s" }' "$pod" "$hostname" "$pod")
    16    SHARED_CHANNEL_JSON+="$NODE_OBJECT,"
    17    i=$(( i + 1))
    18  done
    19  
    20  SHARED_CHANNEL_JSON=${SHARED_CHANNEL_JSON%,}
    21  SHARED_CHANNEL_JSON+=']}'
    22  
    23  mkdir -p /data/shared/
    24  echo $SHARED_CHANNEL_JSON > /data/shared/shared-channel.json