现代化的云应用管理解决方案平台,提供应用部署、监控、管理等全生命周期服务。
Websoft9 是一个以项目为核心组织单元的云应用管理平台,采用分层架构设计,支持多云环境下的应用全生命周期管理。平台通过项目维度实现资源隔离、权限控制、成本管控和团队协作。
- api-service: 核心后端服务,基于 Golang + Gin + GORM 构建,提供 RESTful API 接口
- websoft9-agent: 部署在服务器节点的客户端代理,通过 gRPC 与服务端通信,负责任务执行和监控数据采集
- 总览仪表盘: 项目总览看板、监控总览看板
- 应用快捷导航: 已部署应用的快速访问入口
- 仪表盘: 监控看板、任务看板、资源看板
- 文件夹: 项目文件夹、个人文件夹管理
- 应用管理: 查询、卸载、更新、发布、克隆、配置、迁移
- 工作流: 画布编排、组件管理、任务调度
- 项目资源: 资源组、服务器、密钥、数据库、应用网关、证书、云资源
- 项目团队: 成员管理、角色分配、权限控制
- 项目设置: 环境变量、项目配置
- 应用市场列表: 应用分类、搜索、部署
- 应用心愿单: 需求提交、投票、悬赏机制
- 项目管理: 项目创建、修改、删除
- 平台设置: 基本设置、系统更新、系统服务、SMTP、短信、Webhook等
- 安全管理: 角色管理、权限管理、认证管理
- 用户管理: 用户增删改查
- 告警通知: 告警查询、规则配置、推送管理
- 个人中心: 个人资料、个人设置
- 审计日志: 操作记录、日志查询
基于 Golang + Gin + GORM 构建的核心后端服务。
技术栈:
- Golang 1.24+
- Gin Web 框架
- GORM ORM 框架
- SQLite 数据库
- Redis 缓存
- InfluxDB 时序数据库
- JWT 认证
- gRPC 通信
部署在服务器节点的客户端代理,负责任务执行和监控数据采集。
技术栈:
- Golang
- gRPC (grpc-go)
- Redis (go-redis)
- InfluxDB (influxdb-client-go)
- Docker Engine API
- Go 1.24+
- Docker 20.10+
- SQLite 3.0+ / MySQL 8.0+
- Redis 6.0+
- InfluxDB 2.0+
-
克隆仓库
git clone <repository-url> cd webox
-
启动 API 服务
cd api-service go mod tidy make init-db # 初始化数据库 make run # 启动开发服务
-
启动 Agent 代理
cd websoft9-agent go mod tidy make build sudo ./websoft9-agent
# 构建并运行 API 服务
cd api-service
docker build -t websoft9/api-service .
docker run -p 8080:8080 -p 9090:9090 websoft9/api-service
# 构建并运行 Agent
cd websoft9-agent
docker build -t websoft9/agent .
docker run --privileged websoft9/agent
- API 测试: Apifox
- CI/CD: GitHub Actions
- AI 编程: GitHub Copilot, Claude Code
webox/
├── api-service/ # 后端 API 服务
│ ├── main.go
│ ├── internal/
│ │ ├── config/ # 配置管理
│ │ ├── controller/ # 控制器层
│ │ ├── service/ # 业务逻辑层
│ │ ├── repository/ # 数据访问层
│ │ ├── middleware/ # 中间件
│ │ └── model/ # 数据模型
│ ├── pkg/ # 公共包
│ └── docs/ # API 文档
└── websoft9-agent/ # 客户端代理
├── cmd/ # 命令行入口
├── internal/ # 内部包
│ ├── agent/ # 代理核心逻辑
│ ├── monitor/ # 监控数据采集
│ └── executor/ # 任务执行器
└── pkg/ # 公共包
- 遵循 Go 语言编码规范
- 使用依赖注入模式
- 保持接口与实现分离
- 实现完善的错误处理
- 添加适当的日志记录