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