#!/bin/bash
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/lib/common.sh"
source "$SCRIPT_DIR/lib/args.sh"
source "$SCRIPT_DIR/lib/config.sh"
source "$SCRIPT_DIR/lib/compose.sh"
source "$SCRIPT_DIR/lib/version.sh"
source "$SCRIPT_DIR/defaults.env"
parse_args "$@"
export API_KEY
export MODEL_NAME MODEL_PROVIDER INFER_URL OPENCLAW_TOKEN
case "$SUBCOMMAND" in
up)
generate_all_configs
generate_compose_file
cluster_up
;;
scale)
detect_scale_start
SKIP_DOWN=true
generate_all_configs
generate_compose_file
cluster_up
;;
quick)
COUNT=1
generate_all_configs
generate_compose_file
cluster_up
;;
config)
generate_all_configs
generate_compose_file
log_ok "配置生成完成(未启动容器)"
log_info "配置目录: $CONFIG_BASE"
log_info "启动集群: $0 start"
;;
start)
cluster_up
;;
stop)
cluster_down
;;
version)
case "$VERSION_SUBCMD" in
list) version_list ;;
current) version_current ;;
switch) version_switch "$VERSION_TARGET" ;;
rollback) version_rollback ;;
*) show_version_help ;;
esac
;;
*)
show_help
exit 1
;;
esac