主要更新: - 新增 agent_code_generator.py: AI 驱动的 Pydantic Agent 代码生成 - 新增 gitee_manager.py: Gitee API 集成(仓库创建、文件推送、Secrets 配置) - 新增 tool_generator_api.py: 动态 Agent 生成 API 端点 - 新增 template_manager.py: 数据库驱动的模板管理 - 新增 docs/DYNAMIC_AGENT_GENERATOR_API.md: 完整 API 文档 功能特性: - 支持通过 API 定义工具并自动生成 Agent 代码 - 自动创建 Gitee 仓库并推送代码 - CI/CD 自动构建 ARM64 Docker 镜像并推送到 ACR - 自动部署到 AKS 并创建 DNS A 记录 - 支持参数化工具函数生成 配置集成: - LiteLLM Gateway 用于 AI 代码生成 - Gitea Actions 用于 CI/CD 流水线 - Azure DNS 用于域名绑定 - ACR/AKS 用于容器化部署 文件整理: - 脚本文件移动到 scripts/ 目录 - 文档文件移动到 docs/ 目录
60 lines
1.8 KiB
Bash
Executable File
60 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
##############################################################################
|
|
# Agent Manager - 快速部署脚本 (仅部署,不构建镜像)
|
|
##############################################################################
|
|
|
|
set -e
|
|
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
echo -e "${BLUE}快速部署 Agent Manager 到 Kubernetes...${NC}\n"
|
|
|
|
NAMESPACE="agent-manager"
|
|
K8S_DIR="./k8s"
|
|
|
|
# 1. 创建命名空间
|
|
echo "1️⃣ 创建命名空间..."
|
|
kubectl apply -f ${K8S_DIR}/agent-manager-namespace.yaml
|
|
|
|
# 2. 创建配置
|
|
echo "2️⃣ 创建配置..."
|
|
kubectl apply -f ${K8S_DIR}/agent-manager-configmap.yaml
|
|
kubectl apply -f ${K8S_DIR}/agent-manager-secret.yaml
|
|
|
|
# 3. 创建 RBAC
|
|
echo "3️⃣ 创建 RBAC..."
|
|
kubectl apply -f ${K8S_DIR}/agent-manager-rbac.yaml
|
|
|
|
# 4. 创建 ACR Secret(如果需要)
|
|
if [ -n "$ACR_USERNAME" ] && [ -n "$ACR_PASSWORD" ]; then
|
|
echo "4️⃣ 创建 ACR Secret..."
|
|
kubectl create secret docker-registry acr-secret \
|
|
--namespace=${NAMESPACE} \
|
|
--docker-server=agnettaiji.azurecr.io \
|
|
--docker-username=${ACR_USERNAME} \
|
|
--docker-password=${ACR_PASSWORD} \
|
|
--dry-run=client -o yaml | kubectl apply -f -
|
|
fi
|
|
|
|
# 5. 部署应用
|
|
echo "5️⃣ 部署应用..."
|
|
kubectl apply -f ${K8S_DIR}/agent-manager-deployment.yaml
|
|
kubectl apply -f ${K8S_DIR}/agent-manager-service.yaml
|
|
|
|
# 6. 等待就绪
|
|
echo "6️⃣ 等待部署完成..."
|
|
kubectl rollout status deployment/agent-manager -n ${NAMESPACE} --timeout=300s
|
|
|
|
# 7. 显示状态
|
|
echo -e "\n${GREEN}✅ 部署完成!${NC}\n"
|
|
echo "查看 Pods:"
|
|
kubectl get pods -n ${NAMESPACE}
|
|
echo -e "\n查看 Services:"
|
|
kubectl get svc -n ${NAMESPACE}
|
|
|
|
echo -e "\n获取外网 IP:"
|
|
echo "kubectl get svc agent-manager -n ${NAMESPACE} -o jsonpath='{.status.loadBalancer.ingress[0].ip}'"
|