Skip to main content
Version: 3.0.0

Composition Dynamic Controller (CDC)

The Composition Dynamic Controller (CDC) is the execution engine of Krateo. It is a specialized operator, instantiated by the Core Provider, that manages the full lifecycle of Helm-based services.

The Chain of Command​

To understand Krateo, it's essential to visualize the relationship between its core components:

  1. Core Provider (The Manager): Watches for CompositionDefinition resources. When one is created, it generates a CRD and spawns a dedicated CDC instance.
  2. CDC (The Worker): Watches for Composition resources (instances of the generated CRD).
  3. Chart Inspector (The Safety Officer): Queried by the CDC to perform dry-runs of Helm charts, enabling precise RBAC generation and safety checks.

CDC Chain of Command


Blueprint vs. Instance​

Krateo separates the definition of a service from its actual usage.

ConceptResourcePurposeanalogy
BlueprintCompositionDefinitionDefines what a service is (Helm chart, version, API group).The Class / Architect's Plan
InstanceCompositionA specific, live deployment of that service with custom values.The Object / The actual House

Documentation​

DocumentPurpose
Workflow & SafetyDeep dive into Chart Inspector integration and RBAC auto-provisioning.
Values Injection & PausingHow Krateo injects metadata into charts and manages graceful pausing.
Release NamingUnderstanding how Helm release names are generated.
TelemetryMetrics reference for CDC and unstructured-runtime.

Technical Reference​

Environment Variables​

The CDC can be configured via environment variables in its Deployment. Many of these are automatically set by the Core Provider when it spawns the CDC instance.

NameDescriptionDefaultNotes
Operational
COMPOSITION_CONTROLLER_DEBUGEnables verbose debug output.false
COMPOSITION_CONTROLLER_WORKERSNumber of concurrent reconciliation workers.1
COMPOSITION_CONTROLLER_RESYNC_INTERVALHow often to force a resync of all resources.3m
KRATEO_NAMESPACENamespace where Krateo is installed.krateo-system
URL_CHART_INSPECTOREndpoint for the Chart Inspector service.http://chart-inspector...:8081/
Resource Scope (Auto-populated)
COMPOSITION_CONTROLLER_GROUPAPI Group of the resource to manage.-Set by Core Provider
COMPOSITION_CONTROLLER_VERSIONAPI Version of the resource to manage.-Set by Core Provider
COMPOSITION_CONTROLLER_RESOURCEPlural name of the resource to manage.-Set by Core Provider
COMPOSITION_CONTROLLER_SA_NAMEServiceAccount name for the CDC pod.-Set by Core Provider
COMPOSITION_CONTROLLER_SA_NAMESPACEServiceAccount namespace for the CDC pod.-Set by Core Provider
Helm Management
HELM_MAX_HISTORYNumber of Helm release versions to keep.3
COMPOSITION_CONTROLLER_SAFE_RELEASE_NAMEAppends UID suffix to release names.trueHighly recommended
Retry Logic
COMPOSITION_CONTROLLER_MAX_ERROR_RETRIESMaximum number of retries on failure.5Set to 0 to disable
COMPOSITION_CONTROLLER_MIN_ERROR_RETRY_INTERVALMinimum interval between retries.1s
COMPOSITION_CONTROLLER_MAX_ERROR_RETRY_INTERVALMaximum interval between retries.60s
Observability (OTEL)
OTEL_ENABLEDEnables OpenTelemetry metrics export.false
OTEL_EXPORT_INTERVALInterval used to export OTLP metrics.30s
OTEL_EXPORTER_OTLP_ENDPOINTOTLP endpoint for metrics export.``
COMPOSITION_CONTROLLER_METRICS_SERVER_PORTPort for the internal metrics server.-Disabled if not set