[Open Source] A Web-Based Operations Resource Management System Developed in Go, a Lightweight CMDB

Open SourceClassification Systems
2026-06-28 08:50 9 次浏览 • 0 次下载 0KB
[Open Source] A Web-Based Operations Resource Management System Developed in Go, a Lightweight CMDB
  

1. Project Overview

GO-OAM is a web-based operations resource management system developed in Go. It is essentially a lightweight CMDB that organizes various resources, such as accounts, passwords, hosts, documents, and applications that are otherwise difficult to remember, into project-based management.

2. Open Source License

Using GPL-2.0 open-source protocol

3. Screenshots

System Screenshot

Image

Image

Image

Image

Image

4. Feature Overview

GO-OAM is a web-based operations resource management system developed in Go. It is essentially a lightweight CMDB that organizes various resources, such as accounts, passwords, hosts, documents, and applications that are otherwise difficult to remember, into project-based management.

Custom account types allow you to add dynamic attributes to accounts. By default, the system includes account types such as WeChat/Alipay merchant accounts, WeChat Official Accounts, Mini Programs, and database accounts.

5. Tech Stack

Technology Stack:

  • Backend: golang, beego

  • Frontend: jquery, easyui, tui-editor

  • Database: mysql or sqlite

Installation and Deployment

1. You can either download a precompiled installation package or compile and package the source code yourself (requires a Go development environment).

Build Commands

A build script named build.bat is provided in the project root directory. The default target platform is Linux. To build for Windows, add the parameter w, as follows: build.bat w

If you are familiar with beego, you can also customize the build commands. The commands for each platform are as follows (refer to beego for command parameters):

Linux Environment:

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

After compilation, the output file will be located in the source code root directory: oam.tar.gz

Windows Environment:

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

After compilation, the output file will be located in the source code root directory: oam.zip

2. Extract the Installation Package and Create the Database

Database files are located in the data directory. oam.db is the sqlite database file, and oam_mysql.sql is the mysql script.

3. Modify the Configuration

Main configuration options in conf/app.conf:

httpport = 8848  # Port number
runmode = dev    # Current operating environment, corresponding to the different [dev/prod] sections below
...
dbtype=mysql     # Database type: mysql or sqlite
dbname = "oam"   # Database name (for sqlite, this is the filename)
...

# The following sections contain configuration variables for different environments, mainly database information. Other settings can remain unchanged.
[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. Start on Linux

You need to grant execute permissions to the oam file: chmod +x oam

Start command: ./oam

Run in the background: nohup ./oam >>nohup.out 2>&1 &

After startup, open [http://localhost:8848](http://localhost:8848) in your browser. Default login username: root; password: 2022@00

5. Secret Key Issues

The system uses two types of encryption keys: RSA and AES. RSA key files are stored in the conf directory. pri.pem is the private key file, and pub.pem is the public key file. For security reasons, you should generate your own key files and replace the existing ones.

The AES key is automatically generated the first time the system runs.

Once the keys have been generated, do not modify them. Otherwise, previously encrypted data may fail to decrypt.

6. Issues When Using sqlite3

When using the sqlite database, the go-sqlite3 driver is used. Since this driver requires gcc, CGO_ENABLED must be enabled for compilation to succeed, as shown below:

go env -w CGO_ENABLED=1

#1
资源直链https://gitee.com/jqncc/OAM
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare