Skip to content

Websoft9/webox

Repository files navigation

Websoft9 平台

现代化的云应用管理解决方案平台,提供应用部署、监控、管理等全生命周期服务。

项目概述

Websoft9 是一个以项目为核心组织单元的云应用管理平台,采用分层架构设计,支持多云环境下的应用全生命周期管理。平台通过项目维度实现资源隔离、权限控制、成本管控和团队协作。

核心架构组件

  • api-service: 核心后端服务,基于 Golang + Gin + GORM 构建,提供 RESTful API 接口
  • websoft9-agent: 部署在服务器节点的客户端代理,通过 gRPC 与服务端通信,负责任务执行和监控数据采集

平台功能模块

1. 平台主页

  • 总览仪表盘: 项目总览看板、监控总览看板
  • 应用快捷导航: 已部署应用的快速访问入口

2. 项目管理 (核心模块)

  • 仪表盘: 监控看板、任务看板、资源看板
  • 文件夹: 项目文件夹、个人文件夹管理
  • 应用管理: 查询、卸载、更新、发布、克隆、配置、迁移
  • 工作流: 画布编排、组件管理、任务调度
  • 项目资源: 资源组、服务器、密钥、数据库、应用网关、证书、云资源
  • 项目团队: 成员管理、角色分配、权限控制
  • 项目设置: 环境变量、项目配置

3. 应用市场

  • 应用市场列表: 应用分类、搜索、部署
  • 应用心愿单: 需求提交、投票、悬赏机制

4. 平台管理

  • 项目管理: 项目创建、修改、删除
  • 平台设置: 基本设置、系统更新、系统服务、SMTP、短信、Webhook等
  • 安全管理: 角色管理、权限管理、认证管理
  • 用户管理: 用户增删改查
  • 告警通知: 告警查询、规则配置、推送管理
  • 个人中心: 个人资料、个人设置
  • 审计日志: 操作记录、日志查询

技术架构

API Service (后端服务)

基于 Golang + Gin + GORM 构建的核心后端服务。

技术栈:

  • Golang 1.24+
  • Gin Web 框架
  • GORM ORM 框架
  • SQLite 数据库
  • Redis 缓存
  • InfluxDB 时序数据库
  • JWT 认证
  • gRPC 通信

Websoft9 Agent (客户端代理)

部署在服务器节点的客户端代理,负责任务执行和监控数据采集。

技术栈:

  • 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+

开发环境搭建

  1. 克隆仓库

    git clone <repository-url>
    cd webox
  2. 启动 API 服务

    cd api-service
    go mod tidy
    make init-db    # 初始化数据库
    make run        # 启动开发服务
  3. 启动 Agent 代理

    cd websoft9-agent
    go mod tidy
    make build
    sudo ./websoft9-agent

Docker 部署

# 构建并运行 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

开发工具链

项目结构

webox/
├── api-service/              # 后端 API 服务
│   ├── main.go
│   ├── internal/
│   │   ├── config/          # 配置管理
│   │   ├── controller/      # 控制器层
│   │   ├── service/         # 业务逻辑层
│   │   ├── repository/      # 数据访问层
│   │   ├── middleware/      # 中间件
│   │   └── model/          # 数据模型
│   ├── pkg/                # 公共包
│   └── docs/               # API 文档
└── websoft9-agent/         # 客户端代理
    ├── cmd/                # 命令行入口
    ├── internal/           # 内部包
    │   ├── agent/         # 代理核心逻辑
    │   ├── monitor/       # 监控数据采集
    │   └── executor/      # 任务执行器
    └── pkg/               # 公共包

开发规范

  1. 遵循 Go 语言编码规范
  2. 使用依赖注入模式
  3. 保持接口与实现分离
  4. 实现完善的错误处理
  5. 添加适当的日志记录

About

Next edition of Websoft9

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •