Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

openstack-test/kubespace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

23 Commits

Repository files navigation

项目介绍

本项目基于Gin-Vue-Admin 开源项目开发 (main 42b4d21),在此基础上开发实现一个DevOps自动化运维管理平台。

分支说明

  • develop: 是开发分支,有最新提交代码
  • master: 是稳定分支,代码从develop合过来

技术栈

server后端调用路径

initialize(router和gorm初始化) -> router(路由组) -> api/v1(api接口) -> service(功能实现代码) -> model(模型定义) -> source/system(api、casbin和menu定义)

部署使用

  • node版本 >= v12.22.7
  • golang版本 >= v1.16

部署MySQL

  • 部署MySQL 5.7 版本

启动Server端

# 克隆项目
git clone git@github.com:openstack-test/kubespace.git
# 使用 goland等编辑工具,进入server后端目录安装go依赖包
cd server
go generate
# 启动服务
go run main.go

启动Web端

# 进入web前端目录
cd web
# 安装依赖
npm install --registry=https://registry.npm.taobao.org
# 启动前端服务,会自动打开浏览器页面
npm run serve
# 发布打包(只在正式上线时使用),将生成的dist目录下的所有文件拷贝到nginx目录下
npm run build

登录

在登录页面点击初始化数据库后,登录即可。

Swagger自动化API文档

安装 swagger

go get -u github.com/swaggo/swag/cmd/swag@v1.7.4

生成API文档

cd server
swag init

执行上面的命令后,server目录下会出现docs文件夹,登录http://localhost:8888/swagger/index.html, 即可查看swagger文档

项目架构

技术选型

  • 前端:用基于vueElement-UI构建基础页面。
  • 后端:用Gin快速搭建基础restful风格API,Gin是一个go语言编写的Web框架。
  • 数据库:采用MySql(5.6.44)版本,使用gorm实现对数据库的基本操作。
  • 缓存:使用Redis实现记录当前活跃用户的jwt令牌并实现多点登录限制。
  • API文档:使用Swagger构建自动化文档。
  • 配置文件:使用viper实现yaml格式的配置文件。
  • 日志:使用zap实现日志记录。
  • Kubernetes:使用client-go库管理Kubernetes资源。

系统架构图

目录结构

 ├─server 	 (后端文件夹)
 │ ├─api (API)
 | ├─cmd (数据库表初始化工具)
 │ ├─config (配置相关)
 │ ├─core 	 (启动相关)
 │ ├─docs 	 (swagger文档目录)
 │ ├─global (全局对象)
 │ ├─initialiaze (gorm、log、route、validator等相关初始化)
 │ ├─middleware (中间件)
 │ ├─model (结构体层)
 │ ├─resource (资源)
 │ ├─router (路由)
 │ ├─service (服务)
 │ └─utils	 (公共功能)
 └─web (前端文件夹)
 ├─public (发布模板)
 └─src (源码包)
 ├─api (向后台发送ajax的封装层)
 ├─assets	 (静态文件)
 ├─components(组件)
 ├─router	 (前端路由)
 ├─store (vuex 状态管理仓)
 ├─style (通用样式文件)
 ├─utils (前端工具库)
 └─view (前端页面)

主要功能

  • 权限管理:基于jwtcasbin实现权限管理
  • 角色管理:创建权限控制的主要对象,可以给角色分配不同api权限和菜单权限
  • 菜单管理:实现用户动态菜单配置,实现不同角色不同菜单
  • api管理:不同用户可调用的api接口的权限不同
  • 表单生成器:表单生成器借助 @form-generator
  • 代码生成器:基础逻辑以及简单curd代码自动生成
  • Kubernetes管理:包括集群、NameSpace、Deployment、Pod容器等资源对象管理

计划任务

  • 完善Kubernetes资源对象管理
  • 应用创建、回滚、查询、进入容器等
  • 其他

About

自动化运维管理平台

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /