一飞开源
阅读530

[开源]一款基于Go语言开发的Web版运维资源管理系统,简版的CMDB

   

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

GO-OAM是基于Go语言开发的Web版运维资源管理系统,算是简版的CMDB,将各种难记的账号、密码、主机、文档、应用等资源管理起来,以项目方式整合。

二、开源协议

使用GPL-2.0开源协议

三、界面展示

系统截图

图片

图片

图片

图片

图片

四、功能概述

GO-OAM是基于Go语言开发的Web版运维资源管理系统,算是简版的CMDB,将各种难记的账号、密码、主机、文档、应用等资源管理起来,以项目方式整合。

通过自定义账号类型账号可以增加动态属性,默认初始了微信/支付宝商户账号、微信公众号、小程序、数据库账号等类型。

五、技术选型

技术选型:

  • 后端:golang, beego

  • 前端:jquery, easyui,tui-editor

  • 数据库:mysql 或 sqlite

安装部署

1、可选择下载编译好的安装包或自己在编译打包(需要go语言开发环境)

打包命令

项目根目录下提供了一个打包脚本: build.bat, 脚本默认目标平台是linux. 如要打包windows加参数w,即: build.bat w

如果熟悉beego也可自定义打包命令,各平台打包命令如下(命令参数请参考beego):

linux环境:

bee pack -exp=screenshot:logs:.vscode:.git:README.md:tests -a=oam -be GOOS=linux -be GOARCH=amd64

编译后文件在源码要目录下:oam.tar.gz

windows环境:

bee pack -f=zip -exp=screenshot:logs:.vscode:.git:README.md:tests -a=oam -be GOOS=windows -be GOARCH=amd64

编译后文件在源码根目录下: oam.zip

2、解压安装包,创建数据库

数据库文件在data目录下,oam.db为sqlite文件, oam_mysql.sql为mysql脚本

3、修改配置

配置文件conf/app.conf主要配置项说明:

httpport = 8848  # 端口号
runmode = dev    # 当前使用环境,对应下面的[dev/prod]章节不同
...
dbtype=mysql     # 使用的数据库类型:mysql 或sqllite
dbname = "oam"   # 数据库名称(sqlite是文件名)
...

#下面是不同环境的配置变量,主要是数据库信息,其他可以不动
[dev]
debug = "true"
dbuser = "user"
dbpasswd = "123"
dbaddr = "10.18.203.94"
store_path=

[prod]
debug = "false"
dbuser = "user"
dbpasswd = "123"
dbaddr = "10.18.203.32"
store_path=

4、Linux下启动

需要给oam文件执行权限: chmod +x oam

启动命令: ./oam

后台运行: nohup ./oam >>nohup.out 2>&1 &

启动后浏览器打开http://localhost:8848, 默认登录用户:root 密码:2022@00

5、密钥问题

系统有两种密钥RSA和AES, RSA密钥文件放在conf目录,pri.pem为私钥文件,pub.pem为公钥文件,安全起见应自己生成密钥文件然后替换

AES密钥会在系统运行第一次自动生成

密钥生成后不修改,否则会导致已加密的数据解密失败

6、sqlite3使用问题

使用sqlite数据库时,由于使用的是go-sqlite3驱动,该驱动使用了gcc需要开启CGO_ENABLED才能编译成功,如下:

go env -w CGO_ENABLED=1

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章