- 添加 Gitea Actions 工作流 (.gitea/workflows/) - cicd.yml: 完整 CICD 流程(构建、测试、推送、部署) - test.yml: 快速测试工作流 - 配置 Kubernetes 部署清单 (k8s/) - namespace.yaml: 创建 claude-stock namespace - configmap.yaml: 应用配置和 Ollama 连接配置 - deployment.yaml: 后端和前端部署(支持 Node IP 连接 Ollama) - service.yaml: 服务定义、RBAC 和网络策略 - ollama-bridge.yaml: 四种 K8s 与宿主 Ollama 通信方案 - secrets.sh: 自动创建 K8s Secrets - 部署脚本和工具 - deploy-to-k8s.sh: 一键 K8s 部署脚本 - verify-cicd.sh: CICD 环境验证脚本 - 文档 - CICD_DEPLOYMENT_GUIDE.md: 完整部署指南(中文) - QUICK_START.md: 5 分钟快速启动指南(中文) 关键功能: ✅ Gitea Runners(Docker + K8s) ✅ Harbor 镜像仓库集成 ✅ 自动化测试和安全扫描 ✅ K8s 滚动更新和健康检查 ✅ Ollama 集成(使用 Node IP 解决通信问题) ✅ 完整的部署后验证 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
62 lines
1.9 KiB
Bash
Executable File
62 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
||
# 创建 Kubernetes Secrets 脚本
|
||
# 用于存储敏感信息
|
||
|
||
set -e
|
||
|
||
NAMESPACE="claude-stock"
|
||
|
||
echo "🔐 创建 Kubernetes Secrets..."
|
||
|
||
# 创建 namespace(如果不存在)
|
||
kubectl create namespace $NAMESPACE --dry-run=client -o yaml | kubectl apply -f -
|
||
|
||
# 1. Harbor 镜像仓库凭证
|
||
echo "📦 创建 Harbor 镜像拉取凭证..."
|
||
kubectl create secret docker-registry harbor-secret \
|
||
--docker-server=localhost:8443 \
|
||
--docker-username=admin \
|
||
--docker-password="${HARBOR_PASSWORD:-Harbor12345}" \
|
||
--docker-email=admin@example.com \
|
||
-n $NAMESPACE \
|
||
--dry-run=client -o yaml | kubectl apply -f -
|
||
|
||
# 2. Claude Stock 应用 Secrets
|
||
echo "🔑 创建应用秘钥..."
|
||
kubectl create secret generic claude-stock-secrets \
|
||
--from-literal=OPENROUTER_API_KEY="${OPENROUTER_API_KEY:-sk-or-v1-xxxxx}" \
|
||
--from-literal=TUSHARE_TOKEN="${TUSHARE_TOKEN:-xxxxx}" \
|
||
--from-literal=ALPHA_VANTAGE_API_KEY="${ALPHA_VANTAGE_API_KEY:-FFJVQK6LCQ5RSPNH}" \
|
||
-n $NAMESPACE \
|
||
--dry-run=client -o yaml | kubectl apply -f -
|
||
|
||
# 3. 数据库凭证
|
||
echo "🗄️ 创建数据库凭证..."
|
||
kubectl create secret generic db-credentials \
|
||
--from-literal=POSTGRES_USER="stockai" \
|
||
--from-literal=POSTGRES_PASSWORD="stockai2025" \
|
||
--from-literal=POSTGRES_DB="stock_ai" \
|
||
-n $NAMESPACE \
|
||
--dry-run=client -o yaml | kubectl apply -f -
|
||
|
||
# 4. Redis 凭证
|
||
echo "💾 创建 Redis 凭证..."
|
||
kubectl create secret generic redis-credentials \
|
||
--from-literal=REDIS_PASSWORD="redis2025" \
|
||
-n $NAMESPACE \
|
||
--dry-run=client -o yaml | kubectl apply -f -
|
||
|
||
# 5. Kubeconfig(用于 Gitea Actions 部署)
|
||
echo "🔐 创建 Kubeconfig Secret..."
|
||
if [ -f ~/.kube/config ]; then
|
||
kubectl create secret generic kubeconfig-secret \
|
||
--from-file=config=$HOME/.kube/config \
|
||
-n $NAMESPACE \
|
||
--dry-run=client -o yaml | kubectl apply -f -
|
||
fi
|
||
|
||
echo "✅ Secrets 创建完成!"
|
||
echo ""
|
||
echo "📋 创建的 Secrets:"
|
||
kubectl get secrets -n $NAMESPACE
|