Sync waves#
MonitoringChart annotates every resource with an argocd.argoproj.io/sync-wave value.
ArgoCD applies lower waves before higher waves, which gives the stack a deterministic rollout order.
The waves run from 0 to 3.
Wave 0: foundation#
These resources must exist before anything references them.
Resource |
Construct |
|---|---|
|
|
|
|
The PriorityClass exists only when priorityClasses.create is true.
Wave 1: external dependencies#
Buckets and credentials must exist before pods try to read storage or mount secrets.
Resource |
Construct |
|---|---|
Thanos S3 |
|
Loki S3 |
|
Thanos S3 |
|
Loki S3 |
|
Grafana admin |
|
Wave 2: core services#
The core stack starts once its storage and secrets are in place.
Resource |
Construct |
|---|---|
kube-prometheus-stack |
|
Loki |
|
Wave 3: advanced services#
Collection, querying, and long-term storage start after the core services.
Resource |
Construct |
|---|---|
Alloy |
|
Thanos Query |
|
Thanos Store |
|
Thanos Compactor |
|
Tracing resources#
These resources exist only when config.tempo.enabled is true.
They occupy the same waves as their non-tracing counterparts: storage and credentials in wave 1, workloads in wave 3.
Resource |
Construct |
Wave |
|---|---|---|
Tempo S3 |
|
1 |
Tempo S3 |
|
1 |
Tempo |
|
3 |
Alloy traces |
|
3 |
Infrastructure monitor resources#
These resources exist only when their block is enabled.
They carry no sync-wave annotation, so ArgoCD applies them in wave 0.
Resource |
Construct |
Condition |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
The PodMonitor, ServiceMonitor, and PrometheusRule kinds come from the prometheus-operator CRDs, which must exist before the first sync.
See Set up prerequisites.
Application dashboards and alerts#
The library does not place application dashboards or alerts in any wave; it ships none.
Integration charts attach their own dashboard and alert constructs and choose a wave for them.
Wave 3 is a natural fit, since the dashboards are discovered after Grafana is running.
See Add application dashboards and alerts.
See also#
Architecture — why the components depend on one another.