explaingit

tencentblueking/bk-cmdb

5,681GoAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TLDR

bk-cmdb is Tencent's open-source system for keeping track of every server, virtual machine, and process in a large company, who owns it, how it connects to other systems, and a full history of every change ever made to it.

Mindmap

mindmap
  root((repo))
    What it does
      Tracks servers and processes
      Custom resource models
      Audit trail
      Permission control
    Tech Stack
      Go
      Kubernetes
      Helm
      Docker
    Use Cases
      Enterprise IT inventory
      Compliance auditing
      Infrastructure management
    Audience
      Ops and DevOps teams
      IT managers
    Deployment
      Traditional install
      Helm on Kubernetes
      Online demo available
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a searchable inventory of every server and virtual machine in your company so teams always know what exists and who owns it.

USE CASE 2

Track every configuration change with a full audit trail so you can prove to auditors who changed what and when.

USE CASE 3

Define custom resource types for your own infrastructure categories and model how they connect to each other.

USE CASE 4

Automate notifications to the right team whenever a server's configuration changes.

Tech stack

GoKubernetesHelmDocker

Getting it running

Difficulty · hard Time to first run · 1day+

Requires Kubernetes or a multi-server manual install, documentation is primarily in Chinese.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice. Tencent has committed not to change this for any version already delivered.

In plain English

This is an enterprise configuration management database built by Tencent's BlueKing team. A configuration management database, or CMDB, is essentially a record-keeping system for everything a company runs on its servers: which machines exist, what software runs on them, how they connect to each other, and who is responsible for what. Large companies use tools like this to keep track of hundreds or thousands of servers without losing track of what's where. Bk-cmdb goes beyond a basic inventory. It lets teams define their own custom models, meaning a company can add new types of resources (say, networking gear or virtual machines) without being stuck with a fixed list of categories. The system also tracks processes running on individual machines, sends notifications when things change, manages who has permission to see or edit what, and keeps an audit trail of every action a user takes. That last feature matters for compliance, since companies sometimes need to prove who changed a configuration and when. On the technical side, the project treats hosts, processes, and general objects as the three fundamental building blocks, and builds everything else on top of those three types. This layered design means the lower levels stay simple while the higher levels can handle more complex business workflows. The project is written in Go and was built to run inside large organizations. The README is primarily in Chinese, so many of the setup and deployment details are written for a Chinese-speaking audience. Documentation links point to Tencent's own developer portal and wiki. There is an online demo available where anyone can log in and explore the interface before deciding whether to deploy it. Deployment options include a traditional installation path and a containerized path using Helm for teams that run their infrastructure on Kubernetes. The project is released under the MIT license, and Tencent states it will not change that license for any version already delivered.

Copy-paste prompts

Prompt 1
I want to set up bk-cmdb to track all the servers in my company. Walk me through the Helm-based deployment on Kubernetes step by step.
Prompt 2
How do I define a custom resource model in bk-cmdb for a new type of infrastructure like a network switch?
Prompt 3
Show me how to use the bk-cmdb API to query which processes are running on a specific host and who is listed as the responsible team.
Prompt 4
How does bk-cmdb handle permissions so that different teams can only see and edit their own servers?
Open on GitHub → Explain another repo

← tencentblueking on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.