github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/mongodb/templates/sharding-scriptstemplate.yaml (about) 1 apiVersion: v1 2 kind: ConfigMap 3 metadata: 4 name: mongodb-sharding-scripts 5 labels: 6 {{- include "mongodb.labels" . | nindent 4 }} 7 data: 8 mongos-setup.sh: |- 9 #!/bin/sh 10 11 PORT=27018 12 CONFIG_SVR_NAME=$KB_CLUSTER_NAME"-configsvr" 13 DOMAIN=$CONFIG_SVR_NAME"-headless."$KB_NAMESPACE".svc.cluster.local" 14 mongos --bind_ip_all --configdb $CONFIG_SVR_NAME/$CONFIG_SVR_NAME"-0."$DOMAIN:$PORT,$CONFIG_SVR_NAME"-1."$DOMAIN:$PORT,$CONFIG_SVR_NAME"-2."$DOMAIN:$PORT 15 replicaset-setup.sh: |- 16 {{- .Files.Get "scripts/replicaset-setup.tpl" | nindent 4 }} 17 replicaset-post-start.sh: |- 18 {{- .Files.Get "scripts/replicaset-post-start.tpl" | nindent 4 }} 19 shard-agent.sh: |- 20 #!/bin/sh 21 22 INDEX=$(echo $KB_POD_NAME | grep -o "\-[0-9]\+\$"); 23 INDEX=${INDEX#-}; 24 if [ $INDEX -ne 0 ]; then 25 trap : TERM INT; (while true; do sleep 1000; done) & wait 26 fi 27 28 # wait main container ready 29 PORT=27018 30 until mongosh --quiet --port $PORT --eval "rs.status().ok"; do sleep 1; done 31 # add shard to mongos 32 SHARD_NAME=$(echo $KB_POD_NAME | grep -o ".*-"); 33 SHARD_NAME=${SHARD_NAME%-}; 34 DOMAIN=$SHARD_NAME"-headless."$KB_NAMESPACE".svc.cluster.local" 35 MONGOS_HOST=$KB_CLUSTER_NAME"-mongos" 36 MONGOS_PORT=27017 37 SHARD_CONFIG=$SHARD_NAME/$SHARD_NAME"-0."$DOMAIN:$PORT,$SHARD_NAME"-1."$DOMAIN:$PORT,$SHARD_NAME"-2."$DOMAIN:$PORT 38 until mongosh --quiet --host $MONGOS_HOST --port $MONGOS_PORT --eval "print('service is ready')"; do sleep 1; done 39 mongosh --quiet --host $MONGOS_HOST --port $MONGOS_PORT --eval "sh.addShard(\"$SHARD_CONFIG\")" 40 41 trap : TERM INT; (while true; do sleep 1000; done) & wait