Skip to content
Latchkey

Crossplane "cannot run function pipeline" in CI

With pipeline-mode compositions, Crossplane calls each function over gRPC in order. "cannot run function pipeline" means a call failed - the function pod is not running, the package is not installed, or the function returned a fatal result.

What this error means

The XR shows SYNCED False with "cannot compose resources: cannot run function pipeline: cannot run function \"...\"" and names the function that failed.

crossplane
cannot compose resources: cannot run function pipeline: cannot run function
"function-patch-and-transform": rpc error: code = Unavailable
desc = connection error: desc = "transport: Error while dialing: dial tcp ..."

Common causes

The function pod is not running

The Function package installed but its deployment is not Ready, so the gRPC dial fails with Unavailable.

The function returned a fatal result

The function ran but returned a fatal severity result (bad input, unsupported field), which aborts the pipeline.

How to fix it

Check the function is installed and healthy

  1. List functions and confirm the one named is INSTALLED and HEALTHY.
  2. If unhealthy, describe its revision and pod for the real error.
  3. Re-run reconciliation once the function pod is Ready.
Terminal
kubectl get functions
kubectl -n crossplane-system get pods -l pkg.crossplane.io/function

Reproduce the pipeline locally with render

Run render with the same functions file to see the fatal result the function returns, then fix its input.

Terminal
crossplane beta render xr.yaml composition.yaml functions.yaml

How to prevent it

  • Wait for functions to be HEALTHY before reconciling XRs in CI.
  • Render pipeline compositions in PR to catch fatal function results.
  • Pin function package versions so behavior does not change unexpectedly.

Frequently asked questions

What causes ""cannot run function pipeline""?
The Function package installed but its deployment is not Ready, so the gRPC dial fails with Unavailable.
How do I fix "cannot run function pipeline"?
Check the function is installed and healthy

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card