[Open Source] A Web-Based Operations Resource Management System Developed in Go, a Lightweight CMDB
![[Open Source] A Web-Based Operations Resource Management System Developed in Go, a Lightweight CMDB](https://yy123.ink/api/img/1782607825456-lc6dh0.jpg)
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





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:
After compilation, the output file will be located in the source code root directory: oam.tar.gz
Windows Environment:
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:
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