Files
agent_management/scripts/redeploy-agent-manager-with-kubeconfig.sh
T
zhanggangyong 8cb166fb58 feat: 新增外部工具 API 及回调功能(计费)
主要更新:
- 新增 external_tool_api.py: 外部工具管理 API
- 新增 tool_storage.py: 工具存储管理器
- 新增回调功能用于计费 (agent_callback_utils)
- 支持多工具创建 Agent
- 新增 CI/CD 构建状态查询 API
- 新增部署信息查询 API
- 更新文档 (EXTERNAL_TOOL_API.md v2.0)
- 更新 Dockerfile 添加新模块
- 更新 app.py 集成外部工具路由
2026-01-29 12:00:16 +00:00

80 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Non-destructive redeploy for agent-manager to a target cluster via kubeconfig/context.
# - Applies: namespace, RBAC, deployment, service
# - Does NOT apply configmap/secret by default (to avoid overwriting real credentials)
#
# Usage:
# ./scripts/redeploy-agent-manager-with-kubeconfig.sh /path/to/kubeconfig [context]
#
# Optional env:
# APPLY_CONFIG=1 -> also apply k8s/agent-manager-configmap.yaml
# APPLY_SECRET=1 -> also apply k8s/agent-manager-secret.yaml (DANGEROUS unless you edited it)
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
K8S_DIR="${ROOT_DIR}/k8s"
KUBECONFIG_FILE="${1:-}"
CONTEXT="${2:-}"
if [[ -z "${KUBECONFIG_FILE}" ]]; then
echo "ERROR: kubeconfig path required."
echo "Usage: $0 /path/to/kubeconfig [context]"
exit 1
fi
if [[ ! -f "${KUBECONFIG_FILE}" ]]; then
echo "ERROR: kubeconfig not found: ${KUBECONFIG_FILE}"
exit 1
fi
export KUBECONFIG="${KUBECONFIG_FILE}"
echo "Using kubeconfig: ${KUBECONFIG}"
if [[ -n "${CONTEXT}" ]]; then
echo "Switching context: ${CONTEXT}"
kubectl config use-context "${CONTEXT}" >/dev/null
fi
echo "Target cluster:"
kubectl cluster-info
echo "Applying namespace..."
kubectl apply -f "${K8S_DIR}/agent-manager-namespace.yaml"
if [[ "${APPLY_CONFIG:-0}" == "1" ]]; then
echo "Applying configmap (APPLY_CONFIG=1)..."
kubectl apply -f "${K8S_DIR}/agent-manager-configmap.yaml"
else
echo "Skipping configmap (set APPLY_CONFIG=1 to apply)."
fi
if [[ "${APPLY_SECRET:-0}" == "1" ]]; then
echo "Applying secret (APPLY_SECRET=1)..."
kubectl apply -f "${K8S_DIR}/agent-manager-secret.yaml"
else
echo "Skipping secret (set APPLY_SECRET=1 to apply)."
fi
echo "Applying RBAC..."
kubectl apply -f "${K8S_DIR}/agent-manager-rbac.yaml"
echo "Applying deployment + service..."
kubectl apply -f "${K8S_DIR}/agent-manager-deployment.yaml"
kubectl apply -f "${K8S_DIR}/agent-manager-service.yaml"
echo "Waiting for rollout..."
kubectl rollout status deployment/agent-manager -n agent-manager --timeout=300s
echo ""
echo "Pods:"
kubectl get pods -n agent-manager -o wide
echo ""
echo "Service:"
kubectl get svc agent-manager -n agent-manager -o wide
echo ""
echo "Done."