Overview of the auth server
masterauth server is a component used for resource callbacks in the new version of the Permission Center (权限中心).repository·master·Indexed 26 days ago
https://github.com/tencentblueking/bk-cmdbAn enterprise-grade Configuration Management Database (CMDB) for managing assets and applications. This documentation covers Kubernetes deployment via Helm charts, API Gateway (apigw) and ESB interface mappings, MongoDB database collection classifications, and core service configuration using environment variables for MongoDB, Redis, and authentication.
auth server is a component used for resource callbacks in the new version of the Permission Center (权限中心).The CMDB Sync Service synchronizes CMDB data from a source environment (src) to a target environment (dest).
Supported Resource Types:
biz (business)set (cluster)module (module)host (host)host_relation (host relation)object_instance (model instance)inst_asst (instance association)service_instance (service instance)process (process)process_relation (process relation)quoted_instance (table field instance)Sync Workflow:
The Metric SDK provides a flexible, pluggable runtime metric export service for components within the BCS ecosystem. It exposes metrics via an HTTP service and supports two types of key-value metrics: numeric (all exported as float64 for consistency) and string.
Key features include:
5s is applied to each metric collection attempt.Labels (key-value pairs) for instance-specific identification (e.g., distinguishing between different clusters or regions like set: shenzhen).golang only.BlueKing CMDB (Configuration Management Database) is an enterprise-grade configuration management platform designed for managing assets and applications. It features a customizable model management system that allows users to extend built-in models or create new ones for networks, middleware, and virtual resources.
Key technical capabilities include:
The Business Topology Cache package provides a high-performance caching mechanism for business topologies, spanning from root nodes down to the lowest node modules. It is designed for scenarios requiring frequent topology lookups where performance is critical, such as job scheduled tasks.
Key features include:
BlueKing CMDB (BK-CMDB) is an enterprise-grade configuration management platform for assets and applications. When deploying on Kubernetes, the system is split into two primary components:
apiserver.Deployment Order Requirement: You must deploy the backend service first. Wait for the backend service to be fully started and healthy before proceeding to deploy the web service.
The CMDB EventServer is a module designed for event subscription and notification. It supports two primary interaction patterns:
It acts as a bridge between the resource control layer (CoreService) and subscribers, ensuring data changes are propagated efficiently.
The monitor framework provides a structured way to manage the lifecycle of monitoring data through three core capabilities:
Collection -> Storage -> Reporting. Currently, an in-memory queue is used as the storage mechanism. The frequency of queue storage and reporting can be adjusted via configuration.Content interface. While the framework includes a built-in Alarm struct for internal alerting, users can implement the Content interface to support third-party monitoring requirements.blueking and noop (the default, which performs no operations).task server is an HTTP-based service designed for asynchronous task execution. It allows users to trigger long-running or background tasks via HTTP requests without blocking the client connection.The pkg/filter module is a backend component designed to parse universal query parameters from frontends or APIs into MongoDB filter conditions.
Key features include:
AND and OR logic, as well as nested structure queries.querybuilder parameters to facilitate migration.The src/common/index package is used to define business indexes required for database tables. It provides index definitions and helper functions for comparison and lookup.
Indexes are defined as a slice of types.Index:
Index definition = []types.Index{}
There are two main categories of index definitions used for synchronization with the database:
comm prefix indexes: These are normalized indexes. The index name must start with either CCLogicUniqueIdxNamePrefix or common.CCLogicIndexNamePrefix.deprecated prefix indexes: These are unnormalized (legacy) indexes.Indexes are registered in the package's init() function using registerIndexes:
func init() {
// Register unnormalized indexes first. If conflicts occur, unnormalized indexes are deleted.
registerIndexes("database_table_name", indexDefinition)
}