From 7f70c276705350bee3a8852f95e6f01835f1820e Mon Sep 17 00:00:00 2001 From: Nic Cope Date: Mon, 31 Mar 2025 12:06:38 -0700 Subject: [PATCH] Rework "Confused about Compositions..." box I think we can achieve the goal without explicitly saying this confuses people. Also reorder so that it starts with what an XR is (the goal) then talks about how to achieve the goal (XRDs, Compositions). Signed-off-by: Nic Cope --- .../composite-resource-definitions.md | 16 +++++------ .../composition/composite-resources.md | 18 ++++++------ .../v2.0-preview/composition/compositions.md | 28 +++++++++---------- .../guides/function-patch-and-transform.md | 12 -------- 4 files changed, 30 insertions(+), 44 deletions(-) diff --git a/content/v2.0-preview/composition/composite-resource-definitions.md b/content/v2.0-preview/composition/composite-resource-definitions.md index 9c4b8beb..ea992895 100644 --- a/content/v2.0-preview/composition/composite-resource-definitions.md +++ b/content/v2.0-preview/composition/composite-resource-definitions.md @@ -6,7 +6,7 @@ description: "Composite Resource Definitions or XRDs define custom API schemas" Composite resource definitions (`XRDs`) define the schema for a custom API. Users create composite resources (`XRs`) using the API schema defined by an -`XRD`. +XRD. {{}} @@ -15,14 +15,14 @@ information about composite resources. {{}} -{{}} -Crossplane has four core components that users commonly mix up: +{{}} +A [composite resource]({{}}) or XR is a custom API. -* [Compositions]({{}}) - A template to define how to create resources. -* Composite Resource Definition (`XRD`) - This page. A custom API specification. -* [Composite Resource]({{}}) (`XR`) - Created by - using the custom API defined in a Composite Resource Definition. XRs use the - Composition template to create other resources. +You use two Crossplane types to create a new custom API: + +* A Composite Resource Definition (XRD) - This page. Defines the XR's schema. +* A [Composition]({{}}) - Configures how the XR creates + other resources. {{}} Crossplane XRDs are like diff --git a/content/v2.0-preview/composition/composite-resources.md b/content/v2.0-preview/composition/composite-resources.md index a849b8c8..4562b95a 100644 --- a/content/v2.0-preview/composition/composite-resources.md +++ b/content/v2.0-preview/composition/composite-resources.md @@ -13,15 +13,15 @@ Composite resources are a _composite_ of Kubernetes resources. A _Composition_ defines how to _compose_ the resources together. {{< /hint >}} -{{}} -Crossplane has four core components that users commonly mix up: +{{}} +A composite resource or XR (this page) is a custom API. -* [Compositions]({{}}) - A template to define how to create resources. -* [Composite Resource Definition]({{}}) - (`XRD`) - A custom API specification. -* Composite Resource (`XR`) - This page. Created by - using the custom API defined in a Composite Resource Definition. XRs use the - Composition template to create new resources. +You use two Crossplane types to create a new custom API: + +* A [Composite Resource Definition]({{}}) + (XRD) - Defines the XR's schema. +* A [Composition]({{}}) - Configures how the XR creates + other resources. {{}} ## Create composite resources @@ -29,7 +29,7 @@ Crossplane has four core components that users commonly mix up: Creating composite resources requires a [Composition]({{}}) and a [CompositeResourceDefinition]({{}}) -(`XRD`). +(XRD). The Composition defines the set of resources to create. The XRD defines the custom API users call to request the set of resources. diff --git a/content/v2.0-preview/composition/compositions.md b/content/v2.0-preview/composition/compositions.md index a0434294..d44327dd 100644 --- a/content/v2.0-preview/composition/compositions.md +++ b/content/v2.0-preview/composition/compositions.md @@ -52,15 +52,14 @@ spec: ``` -{{}} -Crossplane has four core components that users commonly mix up: +{{}} +A [composite resource]({{}}) or XR is a custom API. -* Compositions - This page. A template to define how to create resources. -* [Composite Resource Definition]({{}}) - (`XRD`) - A custom API specification. -* [Composite Resource]({{}}) (`XR`) - Created by - using the custom API defined in a Composite Resource Definition. XRs use the - Composition template to create new resources. +You use two Crossplane types to create a new custom API: + +* A [Composite Resource Definition]({{}}) + (XRD) - Defines the XR's schema. +* A Composition - This page. Configures how the XR creates other resources. {{}} ## Create a Composition @@ -79,14 +78,13 @@ to determine what resources it should create when you create a composite resource (XR). {{}} -The Crossplane community has built lots of functions that let you template -Crossplane resources using -[CUE](https://github.com/crossplane-contrib/function-cue), -[KCL](https://github.com/crossplane-contrib/function-kcl), +Crossplane has functions that let you template composed resources using YAML +[patch and transforms]({{}}). Helm-like -[Go templates](https://github.com/crossplane-contrib/function-go-templating) or -legacy Crossplane -[Patch and Transforms]({{}}). +[YAML templates](https://github.com/crossplane-contrib/function-go-templating), +[CUE](https://github.com/crossplane-contrib/function-cue), +[KCL](https://github.com/crossplane-contrib/function-kcl), or +[Python](https://github.com/crossplane-contrib-function-python). You can also [write your own function](#write-a-composition-function) using Go or Python. diff --git a/content/v2.0-preview/guides/function-patch-and-transform.md b/content/v2.0-preview/guides/function-patch-and-transform.md index a00257dd..e6e9f3e4 100644 --- a/content/v2.0-preview/guides/function-patch-and-transform.md +++ b/content/v2.0-preview/guides/function-patch-and-transform.md @@ -67,18 +67,6 @@ Patch and transform is best for simpler compositions. It intentionally doesn't support features like loops and conditionals. {{}} -{{}} -Crossplane has four core components that users commonly mix up: - -* [Composition]({{}}) - A template to define - how to create resources. -* [composite resource Definition]({{}}) - (`XRD`) - A custom API specification. -* [composite resource]({{}}) (`XR`) - - Created by using the custom API defined in a composite resource Definition. - XRs use the Composition template to create new managed resources. -{{}} - ## Install the function You must install Function Patch and Transform before you can use it in a