Skip to content
Latchkey

Flux Kustomization "dependency is not ready" in CI

A Kustomization lists another Kustomization in spec.dependsOn and will not apply until that dependency is Ready. If the dependency is failing or slow, the dependent stays blocked with "dependency is not ready".

What this error means

A Kustomization reports "False" with "dependency 'flux-system/infra' is not ready" and never applies until the upstream Kustomization reconciles.

kustomize-controller
dependency 'flux-system/infrastructure' is not ready

Common causes

The dependency is itself failing

The dependsOn target has a build, apply, or health-check error, so it never becomes Ready and the dependent stays blocked.

Ordering is correct but the dependency is slow

The dependency is still reconciling (for example installing CRDs) and the dependent is correctly waiting for it to finish.

How to fix it

Fix the upstream dependency first

  1. Identify the Kustomization named in the message.
  2. Reconcile it and resolve its own error so it reaches Ready.
  3. Reconcile the dependent, which then proceeds.
Terminal
flux get kustomizations
flux reconcile kustomization infrastructure --with-source
flux reconcile kustomization apps

Verify the dependsOn ordering is intended

Confirm the spec.dependsOn chain reflects real ordering (for example infra before apps) and does not reference a name that never becomes Ready.

Terminal
kubectl -n flux-system describe kustomization apps

How to prevent it

  • Order Kustomizations with dependsOn so CRDs and namespaces exist before workloads.
  • Keep dependency Kustomizations healthy; a blocked upstream blocks the whole chain.
  • Avoid dependsOn references to names that may never reconcile.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →