# helm-comp **Repository Path**: null_278_1957/helm-comp ## Basic Information - **Project Name**: helm-comp - **Description**: 一个基于 Spring Boot + React 的 Helm/Kubernetes 应用发布管理平台原型。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Helm Comp Helm Comp 是一个用于管理应用、环境与 Kubernetes 集群配置的部署管理系统,后端基于 Spring Boot,前端基于 React + Vite。 ## 功能概览 - 用户认证与基于角色的权限控制 - 工作空间(Workspace)隔离 - 应用与应用版本管理 - 集群与环境管理 - 配置项管理 - 部署请求与部署执行(支持 `mock` / `real` 执行器) - 部署运行记录与状态追踪 ## 技术栈 - Backend: Java 17, Spring Boot, MyBatis-Plus, Flyway - Database: MySQL(生产建议)/ H2(本地开发) - Frontend: React, TypeScript, Vite, Ant Design ## 目录结构 ```text . ├── src/main/java # 后端源码 ├── src/main/resources # 配置与数据库迁移脚本 ├── src/test/java # 后端测试 ├── frontend # 前端工程 ├── data # 本地 H2 数据文件(仅开发) └── pom.xml # Maven 配置 ``` ## 环境要求 - JDK 17+ - Maven 3.9+(或使用项目自带 `./mvnw`) - Node.js 18+ - npm 9+ - (可选)Helm 3.x(当使用 `real` 执行器时) ## 快速开始(开发环境) ### 1. 启动后端 ```bash ./mvnw spring-boot:run ``` 默认监听端口 `8080`。 ### 2. 启动前端 ```bash cd frontend npm install npm run dev ``` 默认开发端口由 Vite 提供(通常为 `5173`)。前端通过代理访问后端 `/api`。 ## 配置说明 ### 应用配置 核心配置位于: - `src/main/resources/application.yml` - `src/main/resources/application-dev.yml` - `src/main/resources/application-prod.yml` ### 安全配置(发布前必须) 生产环境务必通过环境变量注入敏感配置,不要使用默认值: - `JWT_SECRET` - `DB_PASSWORD` - 其他外部系统凭据(如集群访问 token / 证书) 建议: - 使用强随机密钥作为 JWT Secret - 使用最小权限数据库账号,不使用 root - 对发布产物进行敏感信息扫描后再发布 ## 数据库迁移 项目使用 Flyway 管理迁移脚本: - MySQL: `src/main/resources/db/migration/mysql` - H2: `src/main/resources/db/migration/h2` 后端启动时会自动执行对应迁移。 ## 鉴权与接口 - 登录: `POST /api/users/login` - 登出: `POST /api/users/logout` - 其他受保护接口: 通过 `Authorization: Bearer ` 访问 ### 默认账号(仅开发环境) - `admin` / `admin123` - `testuser` / `admin123` 注意:以上账号仅用于本地开发与联调,生产环境必须禁用默认账号或在首次部署后立即重置密码。 ## 部署执行器 `app.deployment.executor` 支持: - `mock`: 本地联调/演示模式 - `real`: 实际执行 Helm 命令 使用 `real` 前请确认: - 后端运行环境已安装 Helm - 集群连接信息配置正确 - 运行账号具备必要网络与权限 ## 测试 运行后端测试: ```bash ./mvnw test ``` ## 打包与发布 ### 后端打包 ```bash ./mvnw clean package -DskipTests ``` ### 前端构建 ```bash cd frontend npm run build ``` 发布前检查: - 未提交本地数据库文件、日志、临时文件 - 未提交密钥、token、口令、证书 - 生产配置已改为环境变量注入 ## 许可证 如需开源,请补充对应许可证文件(如 `LICENSE`)。