fix(api-gateway): 使用 deck 同步配置到数据库模式

- 添加 kong-config 容器使用 deck 同步 kong.yml
- 移除 KONG_DECLARATIVE_CONFIG (数据库模式不支持)
- 添加 sync 命令手动同步配置
- 修改 reload 命令使用 deck sync

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Developer 2025-12-03 00:57:16 -08:00
parent a148f26649
commit d2a00213f8
2 changed files with 34 additions and 6 deletions

View File

@ -138,13 +138,22 @@ cmd_health() {
fi
}
# 重载配置
# 重载配置 (触发 deck sync)
cmd_reload() {
log_info "重载 Kong 配置..."
docker exec rwa-kong kong reload
$COMPOSE_CMD run --rm kong-config
log_success "配置已重载"
}
# 同步配置到数据库
cmd_sync() {
log_info "同步 kong.yml 配置到数据库..."
$COMPOSE_CMD run --rm kong-config
log_success "配置同步完成"
echo ""
echo "查看路由: ./deploy.sh routes"
}
# 查看所有路由
cmd_routes() {
log_info "Kong 路由列表:"
@ -192,7 +201,8 @@ show_help() {
echo " logs 查看日志"
echo " status 查看状态"
echo " health 健康检查"
echo " reload 重载 Kong 配置"
echo " sync 同步 kong.yml 配置到数据库"
echo " reload 重载 Kong 配置 (同 sync)"
echo " routes 查看所有路由"
echo " services 查看所有服务"
echo " test 测试 API 路由"
@ -227,6 +237,9 @@ main() {
health)
cmd_health
;;
sync)
cmd_sync
;;
reload)
cmd_reload
;;

View File

@ -68,14 +68,11 @@ services:
KONG_ADMIN_ERROR_LOG: /dev/stderr
KONG_ADMIN_LISTEN: 0.0.0.0:8001
KONG_ADMIN_GUI_URL: http://localhost:8002
KONG_DECLARATIVE_CONFIG: /etc/kong/kong.yml
ports:
- "8000:8000" # Proxy HTTP
- "8443:8443" # Proxy HTTPS
- "8001:8001" # Admin API
- "8002:8002" # Admin GUI
volumes:
- ./kong.yml:/etc/kong/kong.yml:ro
depends_on:
kong-db:
condition: service_healthy
@ -91,6 +88,24 @@ services:
networks:
- rwa-network
# ===========================================================================
# Kong Config Loader - 导入声明式配置到数据库
# ===========================================================================
kong-config:
image: docker.io/kong/deck:latest
container_name: rwa-kong-config
command: >
gateway sync /etc/kong/kong.yml
--kong-addr http://kong:8001
volumes:
- ./kong.yml:/etc/kong/kong.yml:ro
depends_on:
kong:
condition: service_healthy
restart: on-failure
networks:
- rwa-network
# ===========================================================================
# Volumes
# ===========================================================================