cnbugs 0cc2103a90 feat: 新增集群部署模板 - K8S/Ceph/Rook-Ceph/ETCD/Harbor/NFS
- 新增'集群部署'分类(6个模板)
- Kubernetes集群部署(kubeadm, Master+Worker, Calico/Flannel)
- Ceph存储集群部署(cephadm, MON+OSD+MDS+RGW+Dashboard)
- K8S + Rook-Ceph持久化存储(Operator+CephCluster+StorageClass)
- ETCD集群部署(3/5节点, Systemd服务)
- Harbor镜像仓库部署(HTTPS+Trivy扫描)
- NFS共享存储集群(服务端+客户端自动挂载)
- 总模板数: 24 -> 30
2026-07-30 23:02:32 +08:00

Ansible Deploy Pro

基于 Go + Ansible 的企业级批量运维部署平台,支持 SSH 密钥管理、Playbook 模板中心、文件分发、实时日志流等功能。

功能特性

  • 🎨 现代化 Web 界面 - 暗色玻璃拟态设计,侧边栏导航,流畅动画
  • 🖥️ 主机管理 - 支持密码/SSH密钥双认证,连接测试,分组管理
  • 🔑 SSH 密钥库 - 集中管理 SSH 私钥,自动指纹识别
  • 📜 Playbook 管理 - 在线编辑、变量解析、执行选项配置
  • 🏪 模板中心 - 20+ 预置模板(Docker/Nginx/MySQL/Redis/安全加固/监控等),一键创建
  • 📦 文件分发 - 批量分发文件/内容到远程主机
  • 💻 命令执行 - 批量并行/串行执行命令,快捷命令
  • 📊 任务中心 - SSE 实时日志流,进度追踪,任务取消
  • 📈 仪表盘 - 主机状态概览、任务统计、系统信息

🚀 快速开始

1. 安装依赖

# 安装 Go
curl -fsSL https://go.dev/dl/go1.21.linux-amd64.tar.gz | tar -C /usr/local -xzf -

# 安装 Ansible
pip install ansible

# 安装 SSH
apt install openssh-client  # Debian/Ubuntu

2. 构建

cd ansible-deploy
go mod tidy
go build -o ansible-deploy cmd/main.go

3. 启动

# 默认端口 8080
./ansible-deploy

# 自定义端口和配置
./ansible-deploy -port 9000 -config /path/to/config.yaml

4. 访问

打开浏览器: http://localhost:8080

📁 目录结构

ansible-deploy/
├── cmd/
│   └── main.go                    # 主程序入口
├── config/
│   └── config.yaml                # 配置文件
├── internal/
│   ├── handlers/
│   │   └── handlers.go            # HTTP 处理器
│   ├── models/
│   │   └── models.go              # 数据模型
│   └── services/
│       ├── ansible.go             # Ansible 核心服务
│       ├── config.go              # 配置加载
│       └── templates.go           # Playbook 模板库
├── web/dist/
│   └── index.html                 # 前端界面
├── playbooks/                     # Playbook 目录
├── inventory/                     # 资产清单
│   ├── hosts.json                 # 主机数据
│   ├── groups.json                # 分组数据
│   └── ssh_keys/                  # SSH 密钥存储
└── README.md

🔌 API 接口

主机管理

方法 路径 说明
GET /api/hosts 获取主机列表
POST /api/hosts 添加主机
PUT /api/hosts/:id 更新主机
DELETE /api/hosts/:id 删除主机
POST /api/hosts/test/:id 测试连接

主机组

方法 路径 说明
GET /api/groups 获取组列表
POST /api/groups 创建组
DELETE /api/groups/:name 删除组

Playbook

方法 路径 说明
GET /api/playbooks 列出 Playbook
POST /api/playbooks 创建 Playbook
GET /api/playbooks/:name/content 获取内容
PUT /api/playbooks/:name 更新 Playbook
DELETE /api/playbooks/:name 删除 Playbook
POST /api/playbooks/execute 执行 Playbook

模板中心

方法 路径 说明
GET /api/templates 列出模板
GET /api/templates/categories 模板分类
GET /api/templates/:id 模板详情
POST /api/templates/deploy 从模板创建

SSH 密钥

方法 路径 说明
GET /api/sshkeys 列出密钥
POST /api/sshkeys 添加密钥
DELETE /api/sshkeys/:name 删除密钥

文件分发

方法 路径 说明
POST /api/files/distribute 分发文件

任务

方法 路径 说明
GET /api/tasks 任务列表
GET /api/tasks/:id 任务详情
GET /api/tasks/:id/stream SSE 实时日志
DELETE /api/tasks/:id 取消任务

系统

方法 路径 说明
GET /api/system/info 系统信息

📋 预置模板

分类 模板 说明
🖥️ 系统管理 系统包更新 自动更新软件包
系统信息采集 采集 OS/硬件/网络信息
资源监控检查 CPU/内存/磁盘告警
日志清理 清理日志和临时文件
时间同步(NTP) 配置 chrony 时间同步
🌐 Web服务 部署 Nginx 安装配置 Nginx + 反向代理
部署 Apache 安装配置 Apache
🗄️ 数据库 部署 MySQL 安装 MySQL + 基础优化
部署 Redis 安装 Redis + 内存配置
部署 PostgreSQL 安装 PostgreSQL
🐳 容器化 部署 Docker Docker CE + 镜像加速
部署 Portainer 容器管理面板
🔧 DevOps 部署 Node.js Node.js + PM2
部署 Python 应用 Gunicorn + Systemd
数据备份 定时备份 + 自动清理
🔒 安全加固 安全加固 SSH加固 + 防火墙 + fail2ban
SSL 证书部署 Let's Encrypt 自动申请
📊 监控告警 部署 Node Exporter Prometheus 指标采集
部署 Grafana 可视化监控面板

License

MIT License

S
Description
No description provided
Readme 33 MiB
Languages
Go 98.1%
Shell 1.9%