56 lines
2.1 KiB
Bash
Executable File
56 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
CONFIG_DIR="$ROOT_DIR/.local-run/nacos/configs"
|
|
NACOS_ADDR="${NACOS_ADDR:-127.0.0.1:8848}"
|
|
NAMESPACE_ID="${NACOS_NAMESPACE_ID:-f7a8594e-090c-4830-a3ad-b5c0f9afcc07}"
|
|
NAMESPACE_NAME="${NACOS_NAMESPACE_NAME:-likei-local}"
|
|
|
|
wait_nacos() {
|
|
for _ in $(seq 1 60); do
|
|
if curl -fsS "http://$NACOS_ADDR/nacos/v1/console/health/readiness" >/dev/null 2>&1; then
|
|
return 0
|
|
fi
|
|
sleep 2
|
|
done
|
|
echo "Nacos 未就绪: $NACOS_ADDR" >&2
|
|
return 1
|
|
}
|
|
|
|
ensure_namespace() {
|
|
curl -fsS -X POST "http://$NACOS_ADDR/nacos/v1/console/namespaces" \
|
|
--data-urlencode "customNamespaceId=$NAMESPACE_ID" \
|
|
--data-urlencode "namespaceName=$NAMESPACE_NAME" >/dev/null 2>&1 || true
|
|
}
|
|
|
|
publish_config() {
|
|
local group="$1"
|
|
local data_id="$2"
|
|
local file_path="$3"
|
|
echo "publish $group/$data_id"
|
|
curl -fsS -X POST "http://$NACOS_ADDR/nacos/v1/cs/configs" \
|
|
--data-urlencode "tenant=$NAMESPACE_ID" \
|
|
--data-urlencode "group=$group" \
|
|
--data-urlencode "dataId=$data_id" \
|
|
--data-urlencode "type=yaml" \
|
|
--data-urlencode "content@$file_path" >/dev/null
|
|
}
|
|
|
|
wait_nacos
|
|
ensure_namespace
|
|
|
|
publish_config "common" "rds-config.yml" "$CONFIG_DIR/common/rds-config.yml"
|
|
publish_config "common" "redis-config.yml" "$CONFIG_DIR/common/redis-config.yml"
|
|
publish_config "common" "mongo-config.yml" "$CONFIG_DIR/common/mongo-config.yml"
|
|
publish_config "common" "framework-config.yml" "$CONFIG_DIR/common/framework-config.yml"
|
|
publish_config "common" "rocketmq.yml" "$CONFIG_DIR/common/rocketmq.yml"
|
|
publish_config "common" "external.yml" "$CONFIG_DIR/common/external.yml"
|
|
publish_config "common" "external-config.yml" "$CONFIG_DIR/common/external-config.yml"
|
|
|
|
publish_config "game-fruit" "application.yml" "$CONFIG_DIR/game-fruit/application.yml"
|
|
publish_config "rc-service-wallet" "sharding-config.yml" "$CONFIG_DIR/rc-service-wallet/sharding-config.yml"
|
|
publish_config "rc-service-console" "rc-service-console-local.yml" "$CONFIG_DIR/rc-service-console/rc-service-console-local.yml"
|
|
|
|
echo "Nacos 配置导入完成"
|