{
  "id": 6402157,
  "title": "Your Crossplane may be sleeping",
  "url": "https://urgent.news/2026/09/09/your-crossplane-may-be-sleeping",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-09T09:42:41.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/joojodontoh/your-crossplane-may-be-sleeping-1295"
  },
  "original_language": "en",
  "account": "In a recent experiment, the author set out to explore the communication capabilities of Crossplane across different clusters. This endeavor aimed to shed light on the functionality of Crossplane when managing resources both within a native cluster and a remote cluster. The process involved creating a two-cluster lab to observe the interactions between these clusters.\n\nThe lab was built using the Crossplane framework, a powerful tool for managing infrastructure as code. The central concept of the experiment was to define two custom abstractions: Workload, representing any long-running application, and DataService, which encompasses stateful storage like Postgres. These abstractions were created twice, once in the control plane's cluster and another time across cluster boundaries into a target cluster.\n\nThe primary goal was to observe whether the control plane could reach a cluster it did not own, detect drift, and determine if the managed resources were functioning correctly. As the experiment progressed, the author discovered several key insights:\n\n1. Native composition in Crossplane could not reach resources in another cluster, indicating a silent absence rather than an error.\n2. The readiness reports for workloads that cannot start indicate a green status, even if the workload cannot actually begin.\n3. The default policy applied successfully but did not necessarily mean the workload was working as intended.\n4. There were four policy options available, but the active policy was not easily identifiable.\n5. The watch field, which was expected to fix issues with drift, was found to be alpha, gated, and silent unless specific flags were passed.\n6. Both of these issues could be addressed with a CEL readiness query and a DeploymentRuntimeConfig.\n7. Even after these fixes, drift could still go uncorrected for up to ten minutes.\n8. The watch field was found to be alpha, gated, and silently ineffective unless additional flags were passed to the provider pod.\n9. The credential-related issue, which prevented the control plane from reaching the target cluster, was deemed unfixable in this context.\n\nDespite these challenges, the experiment highlighted the importance of understanding the defaults in Crossplane. The status output for both good and bad outcomes was identical, making it difficult to determine whether the control plane was actively monitoring or simply dormant. This observation underscores the need for careful configuration and configuration checks when using Crossplane to manage infrastructure across clusters.",
  "summary": "TL;DR I came up with a two-cluster Crossplane lab to test experiment that hopes to show what the communication crossplane has it resources it manages both in a native and remote cluster. Summary of the findings. Native composition cannot reach another cluster. This is not an error, there is just a silent absence. I saw that there is no field for it. You need provider-kubernetes Objects for this…",
  "key_points": [
    "Native Crossplane composition cannot reach resources in another cluster",
    "Readiness reports show green status for unstartable workloads",
    "Default policy works but doesn't guarantee workload functionality"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}