How tencentblueking/blueking-dbm works
DBM is a database-management platform for operating multiple database technologies, with batch lifecycle management, cluster toolboxes, shared services, monitoring, and approval-driven execution. The main workflow is a user-submitted service request, approval through a task flow, and operational execution. The tree and excerpts substantiate the task engine and actuator capabilities, but do not show their integration wiring or the implementation paths for several README-level platform services; those relationships are therefore kept conservative.
Main entry points: subcmd.go DB actuator · pipeline_todo.py Service tickets · storage_instance.py Instance metadata · engine.py Flow engine
Components 20
Service workflow
- Service tickets
dbm-ui/backend/ticket/todos/pipeline_todo.py - Flow engine
dbm-ui/backend/flow/engine/bamboo/engine.py - Approval todos
dbm-ui/backend/ticket/todos/pipeline_todo.py
Metadata and access
- Instance metadata
dbm-ui/backend/db_meta/flatten/storage_instance.py - Instance validation
dbm-ui/backend/db_meta/request_validator/storage_instance.py - Cluster storage sets
dbm-ui/backend/db_meta/models/storage_set_dtl.py - File permissions
dbm-ui/backend/iam_app/handlers/drf_perm/storage.py
Database operations
- DB actuator
dbm-services/bigdata/db-tools/dbactuator/internal/subcmd/subcmd.go - Doris operations
dbm-services/bigdata/db-tools/dbactuator/pkg/components/doris - Elasticsearch operations
dbm-services/bigdata/db-tools/dbactuator/pkg/components/elasticsearch - HDFS operations
dbm-services/bigdata/db-tools/dbactuator/pkg/components/hdfs - Kafka operations
dbm-services/bigdata/db-tools/dbactuator/pkg/components/kafka - Pulsar operations
dbm-services/bigdata/db-tools/dbactuator/pkg/components/pulsar - InfluxDB operations
dbm-services/bigdata/db-tools/dbactuator/pkg/components/influxdb - VictoriaMetrics operations
dbm-services/bigdata/db-tools/dbactuator/pkg/components/victoriametrics
Shared operations
- Artifact storage
dbm-ui/backend/core/storages/storage.py - Machine inventory
dbm-ui/backend/db_services/dbresource/machine_storage.py - Feature flags
dbm-ui/frontend/src/stores/useFunController.ts - MySQL failover
dbm-services/common/dbha/ha-module/dbmodule/dbmysql/SpiderStorageLayer_switch.go
Other components
- DBM user
Connections 17
- DBM user → Service tickets: submits request
- Service tickets → Flow engine: runs pipeline
- Service tickets → Approval todos: creates approval
- Approval todos → Flow engine: callbacks or fails
- Instance validation → Instance metadata: checks membership
- Instance metadata → Cluster storage sets: associates clusters
- File permissions → Artifact storage: guards file access
- DB actuator → Doris operations: dispatches operations
- DB actuator → Elasticsearch operations: dispatches operations
- DB actuator → HDFS operations: dispatches operations
- DB actuator → Kafka operations: dispatches operations
- DB actuator → Pulsar operations: dispatches operations
- DB actuator → InfluxDB operations: dispatches operations
- DB actuator → VictoriaMetrics operations: dispatches operations
- Machine inventory → DBM user: updates inventory
- Feature flags → DBM user: provides UI flags
- MySQL failover → Instance metadata: updates instance roles