Many internal Yandex Cloud services rely on sidecar components and shared configurations to provide cross-cutting functionality such as:
- Log aggregation
- Common metrics collection
- Authorization
- Other platform-level capabilities
Managing these components can become challenging as the number of services and configurations grows. To simplify debugging, improve transparency, and make changes easier to track, the following approach was introduced.
Versioned Component Bundles
-
Individual components (sidecars, enriched configurations, and similar artifacts) are developed, released, and versioned independently.
-
Periodically, a bundle is created and assigned its own version.
-
Each bundle references a specific version of every included component:
| Component |
Version |
| Component A |
v1 |
| Component B |
v2 |
| Component C |
v3 |
-
From a user’s perspective, only the bundle version matters. Instead of managing versions of individual components, users simply upgrade the bundle (for example, from v1 to v2).