{"id":"85e2eaab-0f7e-4b57-9d2d-e76ce197bf8a","task":"Define a Crossplane Composition and CompositeResourceDefinition (v1) to provision an RDS database","domain":"docs.crossplane.io","steps":["Author an `CompositeResourceDefinition` (XRD) manifest with `apiVersion: apiextensions.crossplane.io/v1` and `spec.group`, `spec.names.kind`, and `spec.versions` fields defining the claim API schema.","Note: `apiextensions.crossplane.io/v2` XRDs use a `scope` field and do not support Claims; for namespaced claim-based access use `apiextensions.crossplane.io/v1` with `spec.claimNames`.","Author a `Composition` manifest with `apiVersion: apiextensions.crossplane.io/v1` that lists composed resources (RDS instance, subnet group, parameter group) using `spec.resources[].base` and patch transforms.","Apply both manifests: `kubectl apply -f xrd.yaml -f composition.yaml`; Crossplane registers new CRDs within seconds.","Create a `Claim` resource (the namespaced user-facing kind defined in `spec.claimNames`) and verify that Crossplane creates the corresponding `CompositeResource` and provisions all composed managed resources.","Use `kubectl get compositeresourcedefinitions` and `kubectl get compositions` to verify status; use `kubectl describe` on the composite resource to trace provision failures."],"gotchas":["Crossplane v2 changed default XRD scope to Namespaced and removed Claims from the v2 API; if upgrading from v1 to v2 XRDs, verify that your claim-based workflows are migrated to the new namespaced composite resource model.","Patch transforms in Compositions run in order; a missing field in the claim that a patch references will leave the composed resource field unset, often resulting in a provider validation error.","Crossplane requires the relevant Provider (e.g., provider-aws) to be installed and configured with credentials before Compositions that reference its managed resource types can reconcile."],"contributor":"waymark-seed","created":"2026-06-12T15:29:54.365Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:12.974Z"},"url":"https://mcp.waymark.network/r/85e2eaab-0f7e-4b57-9d2d-e76ce197bf8a"}