From 789826fc137ffe448e26735eb780fb6756952513 Mon Sep 17 00:00:00 2001 From: Nic Cope Date: Thu, 14 Aug 2025 11:30:04 -0700 Subject: [PATCH 1/5] Auto-generate child page indexes This way when folks browse to the index pages they'll see an auto-generated list of child pages. Signed-off-by: Nic Cope --- content/master/composition/_index.md | 2 ++ content/master/get-started/_index.md | 1 + content/master/guides/_index.md | 4 +++- content/master/managed-resources/_index.md | 2 ++ content/master/operations/_index.md | 2 ++ content/master/packages/_index.md | 2 ++ themes/geekboot/layouts/partials/auto-index.html | 14 ++++++++++++++ themes/geekboot/layouts/shortcodes/auto-index.html | 5 +++++ 8 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 themes/geekboot/layouts/partials/auto-index.html create mode 100644 themes/geekboot/layouts/shortcodes/auto-index.html diff --git a/content/master/composition/_index.md b/content/master/composition/_index.md index 329daec9..e81d8c38 100644 --- a/content/master/composition/_index.md +++ b/content/master/composition/_index.md @@ -3,3 +3,5 @@ title: Composition weight: 51 description: Understand Crossplane's core components --- + +{{< auto-index >}} diff --git a/content/master/get-started/_index.md b/content/master/get-started/_index.md index fe0731c9..5bf43591 100644 --- a/content/master/get-started/_index.md +++ b/content/master/get-started/_index.md @@ -4,3 +4,4 @@ weight: 40 description: Get started with Crossplane. --- +{{< auto-index >}} diff --git a/content/master/guides/_index.md b/content/master/guides/_index.md index 7b1ee4b5..8f3b7a8e 100644 --- a/content/master/guides/_index.md +++ b/content/master/guides/_index.md @@ -2,4 +2,6 @@ title: Guides weight: 100 description: Crossplane integrations and detailed examples. ---- \ No newline at end of file +--- + +{{< auto-index >}} \ No newline at end of file diff --git a/content/master/managed-resources/_index.md b/content/master/managed-resources/_index.md index b96343c7..a1004397 100644 --- a/content/master/managed-resources/_index.md +++ b/content/master/managed-resources/_index.md @@ -3,3 +3,5 @@ title: Managed Resources weight: 52 description: Understand Crossplane's managed resources and selective activation --- + +{{< auto-index >}} \ No newline at end of file diff --git a/content/master/operations/_index.md b/content/master/operations/_index.md index 9fa0fea8..3870e523 100644 --- a/content/master/operations/_index.md +++ b/content/master/operations/_index.md @@ -5,3 +5,5 @@ state: alpha alphaVersion: 2.0 description: Understand Crossplane's Operations feature --- + +{{< auto-index >}} \ No newline at end of file diff --git a/content/master/packages/_index.md b/content/master/packages/_index.md index 21c2ad06..637831f0 100644 --- a/content/master/packages/_index.md +++ b/content/master/packages/_index.md @@ -3,3 +3,5 @@ title: Packages weight: 53 description: Understand Crossplane's core components --- + +{{< auto-index >}} \ No newline at end of file diff --git a/themes/geekboot/layouts/partials/auto-index.html b/themes/geekboot/layouts/partials/auto-index.html new file mode 100644 index 00000000..4806237e --- /dev/null +++ b/themes/geekboot/layouts/partials/auto-index.html @@ -0,0 +1,14 @@ +{{/* +Auto-generates an index page with links to child pages, ordered by weight. +Usage: {{ partial "auto-index" . }} +*/}} +{{ if .RegularPages }} +
+

Topics in this section:

+
    + {{ range .RegularPages.ByWeight }} +
  • {{ .Title }}{{ if .Params.description }} - {{ .Params.description }}{{ end }}
  • + {{ end }} +
+
+{{ end }} diff --git a/themes/geekboot/layouts/shortcodes/auto-index.html b/themes/geekboot/layouts/shortcodes/auto-index.html new file mode 100644 index 00000000..1be73220 --- /dev/null +++ b/themes/geekboot/layouts/shortcodes/auto-index.html @@ -0,0 +1,5 @@ +{{/* +Shortcode to auto-generate an index of child pages. +Usage: {{< auto-index >}} +*/}} +{{ partial "auto-index" .Page }} \ No newline at end of file From 2f68349f939c28447ac38383add4e848d134ee87 Mon Sep 17 00:00:00 2001 From: Nic Cope Date: Thu, 14 Aug 2025 11:41:24 -0700 Subject: [PATCH 2/5] Include index frontmatter description on landing pages Signed-off-by: Nic Cope --- themes/geekboot/layouts/partials/auto-index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/themes/geekboot/layouts/partials/auto-index.html b/themes/geekboot/layouts/partials/auto-index.html index 4806237e..ca05bd09 100644 --- a/themes/geekboot/layouts/partials/auto-index.html +++ b/themes/geekboot/layouts/partials/auto-index.html @@ -4,6 +4,9 @@ Usage: {{ partial "auto-index" . }} */}} {{ if .RegularPages }}
+ {{ if .Params.description }} +

{{ .Params.description }}

+ {{ end }}

Topics in this section:

    {{ range .RegularPages.ByWeight }} From dc1c242c5fbb785a5c23df2e046eb0438eb60377 Mon Sep 17 00:00:00 2001 From: Nic Cope Date: Thu, 14 Aug 2025 12:18:28 -0700 Subject: [PATCH 3/5] Tweak page descriptions * Keep them concise (~50 chars) for rendering on index pages * Adjust them for clarity and accuracy * Add descriptions to pages that were missing them Signed-off-by: Nic Cope --- content/master/_index.md | 1 + content/master/cli/_index.md | 2 +- content/master/composition/_index.md | 2 +- content/master/composition/composite-resource-definitions.md | 2 +- content/master/composition/composite-resources.md | 2 +- content/master/composition/composition-revisions.md | 1 + content/master/composition/compositions.md | 2 +- content/master/composition/environment-configs.md | 2 +- content/master/get-started/get-started-with-composition.md | 1 + .../master/get-started/get-started-with-managed-resources.md | 1 + content/master/get-started/get-started-with-operations.md | 1 + content/master/get-started/install.md | 1 + content/master/guides/crossplane-with-argo-cd.md | 1 + content/master/guides/extensions-release-process.md | 3 +-- content/master/guides/function-patch-and-transform.md | 2 +- content/master/guides/implementing-safe-start.md | 3 +-- content/master/guides/metrics.md | 2 +- content/master/guides/pods.md | 2 +- content/master/guides/self-signed-ca-certs.md | 3 ++- content/master/guides/troubleshoot-crossplane.md | 1 + content/master/guides/uninstall-crossplane.md | 1 + content/master/guides/upgrade-crossplane.md | 1 + content/master/guides/write-a-composition-function-in-go.md | 2 +- .../master/guides/write-a-composition-function-in-python.md | 2 +- content/master/learn/feature-lifecycle.md | 1 + content/master/learn/release-cycle.md | 1 + content/master/managed-resources/_index.md | 4 ++-- .../managed-resources/managed-resource-activation-policies.md | 4 +--- .../master/managed-resources/managed-resource-definitions.md | 3 +-- content/master/managed-resources/managed-resources.md | 2 +- content/master/managed-resources/usages.md | 4 ++-- content/master/operations/_index.md | 2 +- content/master/operations/cronoperation.md | 2 +- content/master/operations/operation.md | 2 +- content/master/operations/watchoperation.md | 2 +- content/master/packages/_index.md | 2 +- content/master/packages/configurations.md | 2 +- content/master/packages/image-configs.md | 2 +- 38 files changed, 41 insertions(+), 33 deletions(-) diff --git a/content/master/_index.md b/content/master/_index.md index 7d6d54a1..4a426272 100644 --- a/content/master/_index.md +++ b/content/master/_index.md @@ -1,6 +1,7 @@ --- title: "Welcome" weight: -1 +description: "Control plane framework for building cloud native platforms" cascade: version: "master" --- diff --git a/content/master/cli/_index.md b/content/master/cli/_index.md index 824e2be0..3316a1c8 100644 --- a/content/master/cli/_index.md +++ b/content/master/cli/_index.md @@ -1,7 +1,7 @@ --- weight: 200 title: CLI Reference -description: "Documentation for the Crossplane command-line interface" +description: "Command-line tools for Crossplane development" --- The Crossplane CLI helps simplify some development and administration aspects of diff --git a/content/master/composition/_index.md b/content/master/composition/_index.md index e81d8c38..f2486cd7 100644 --- a/content/master/composition/_index.md +++ b/content/master/composition/_index.md @@ -1,7 +1,7 @@ --- title: Composition weight: 51 -description: Understand Crossplane's core components +description: Build custom APIs by composing Kubernetes resources --- {{< auto-index >}} diff --git a/content/master/composition/composite-resource-definitions.md b/content/master/composition/composite-resource-definitions.md index b76d2a8e..0eb242be 100644 --- a/content/master/composition/composite-resource-definitions.md +++ b/content/master/composition/composite-resource-definitions.md @@ -1,7 +1,7 @@ --- title: Composite Resource Definitions weight: 20 -description: "Composite Resource Definitions or XRDs define custom API schemas" +description: "Define schemas for composite resources" --- Composite resource definitions (`XRDs`) define the schema for a custom API. diff --git a/content/master/composition/composite-resources.md b/content/master/composition/composite-resources.md index 31a6e43c..cf93addc 100644 --- a/content/master/composition/composite-resources.md +++ b/content/master/composition/composite-resources.md @@ -1,7 +1,7 @@ --- title: Composite Resources weight: 10 -description: "Composite resources, an XR or XRs, represent a collection of related cloud resources." +description: "Custom APIs created by composing Kubernetes resources" --- A composite resource, or XR, represents a set of Kubernetes resources as a diff --git a/content/master/composition/composition-revisions.md b/content/master/composition/composition-revisions.md index 9fe2897f..b9695f6f 100644 --- a/content/master/composition/composition-revisions.md +++ b/content/master/composition/composition-revisions.md @@ -1,6 +1,7 @@ --- title: Composition Revisions weight: 35 +description: "Manage changes to Compositions with revisions" --- This guide discusses the use of "Composition Revisions" to make and roll diff --git a/content/master/composition/compositions.md b/content/master/composition/compositions.md index 0bdba343..c92915e3 100644 --- a/content/master/composition/compositions.md +++ b/content/master/composition/compositions.md @@ -5,7 +5,7 @@ aliases: - composition - composition-functions - /knowledge-base/guides/composition-functions -description: "Compositions are a template for creating composite resources" +description: "Define which resources to create and how" --- Compositions are a template for creating multiple Kubernetes resources as a diff --git a/content/master/composition/environment-configs.md b/content/master/composition/environment-configs.md index 50d67221..542c2d01 100644 --- a/content/master/composition/environment-configs.md +++ b/content/master/composition/environment-configs.md @@ -4,7 +4,7 @@ weight: 75 state: beta alphaVersion: "1.11" betaVersion: "1.18" -description: "Environment Configs or EnvironmentConfigs are an in-memory datastore used in Compositions" +description: "In-memory data stores for Compositions" --- diff --git a/content/master/guides/extensions-release-process.md b/content/master/guides/extensions-release-process.md index 4a976959..e7f76c3d 100644 --- a/content/master/guides/extensions-release-process.md +++ b/content/master/guides/extensions-release-process.md @@ -1,8 +1,7 @@ --- title: Releasing Crossplane Extensions weight: 80 -description: "Configuring build pipelines for Crossplane extensions with GitHub -Actions" +description: "Build pipelines for Crossplane extensions" --- diff --git a/content/master/guides/function-patch-and-transform.md b/content/master/guides/function-patch-and-transform.md index d4046066..ca8b2362 100644 --- a/content/master/guides/function-patch-and-transform.md +++ b/content/master/guides/function-patch-and-transform.md @@ -1,7 +1,7 @@ --- title: Function Patch and Transform weight: 70 -description: "A function that use patches and transforms to change inputs from composite resources before creating managed resources" +description: "Write legacy Compositions" --- Function Patch and Transform allows you to write a Composition that specifies diff --git a/content/master/guides/implementing-safe-start.md b/content/master/guides/implementing-safe-start.md index b8c36a21..21d08b32 100644 --- a/content/master/guides/implementing-safe-start.md +++ b/content/master/guides/implementing-safe-start.md @@ -3,8 +3,7 @@ title: Implementing safe-start in Providers weight: 90 state: alpha alphaVersion: 2.0 -description: Guide for provider developers to add safe-start capability for - selective resource activation +description: Add selective resource activation to providers --- This guide shows provider developers how to implement safe-start capability in diff --git a/content/master/guides/metrics.md b/content/master/guides/metrics.md index c8a67ead..255d584e 100644 --- a/content/master/guides/metrics.md +++ b/content/master/guides/metrics.md @@ -1,7 +1,7 @@ --- title: Metrics weight: 60 -description: "Metrics are essential for monitoring Crossplane's operations, helping to identify and resolve potential issues." +description: "Monitor Crossplane operations with metrics" --- Crossplane produces [Prometheus style metrics](https://prometheus.io/docs/introduction/overview/#what-are-metrics) for effective monitoring and alerting in your environment. diff --git a/content/master/guides/pods.md b/content/master/guides/pods.md index b1d2f0f3..792245e7 100644 --- a/content/master/guides/pods.md +++ b/content/master/guides/pods.md @@ -1,7 +1,7 @@ --- title: Crossplane Pods weight: 1 -description: Background on the components installed with Crossplane and their functions. +description: Components installed with Crossplane --- The base Crossplane installation consists of two pods, the `crossplane` pod and diff --git a/content/master/guides/self-signed-ca-certs.md b/content/master/guides/self-signed-ca-certs.md index 38696688..c79de817 100644 --- a/content/master/guides/self-signed-ca-certs.md +++ b/content/master/guides/self-signed-ca-certs.md @@ -2,7 +2,8 @@ --- title: Self-signed CA certs -weight: 270 +weight: 270 +description: "Configure Crossplane with self-signed certificates" --- diff --git a/content/master/guides/troubleshoot-crossplane.md b/content/master/guides/troubleshoot-crossplane.md index f36f9623..99f1d37f 100644 --- a/content/master/guides/troubleshoot-crossplane.md +++ b/content/master/guides/troubleshoot-crossplane.md @@ -1,6 +1,7 @@ --- title: Troubleshoot Crossplane weight: 306 +description: "Debug common Crossplane issues" --- ## Requested resource not found diff --git a/content/master/guides/uninstall-crossplane.md b/content/master/guides/uninstall-crossplane.md index e4d17769..b6045343 100644 --- a/content/master/guides/uninstall-crossplane.md +++ b/content/master/guides/uninstall-crossplane.md @@ -1,6 +1,7 @@ --- title: Uninstall Crossplane weight: 500 +description: "Remove Crossplane from your cluster" --- {{}} diff --git a/content/master/guides/upgrade-crossplane.md b/content/master/guides/upgrade-crossplane.md index c899658d..7aee892d 100644 --- a/content/master/guides/upgrade-crossplane.md +++ b/content/master/guides/upgrade-crossplane.md @@ -1,6 +1,7 @@ --- title: Upgrade Crossplane weight: 400 +description: "Upgrade Crossplane to newer versions" --- The recommended upgrade method for an existing Crossplane install is to use diff --git a/content/master/guides/write-a-composition-function-in-go.md b/content/master/guides/write-a-composition-function-in-go.md index c40e415b..87283b25 100644 --- a/content/master/guides/write-a-composition-function-in-go.md +++ b/content/master/guides/write-a-composition-function-in-go.md @@ -1,7 +1,7 @@ --- title: Write a Composition Function in Go weight: 80 -description: "Composition functions allow you to template resources using Go" +description: "Build composition functions in Go" --- Composition functions (or just functions, for short) are custom programs that diff --git a/content/master/guides/write-a-composition-function-in-python.md b/content/master/guides/write-a-composition-function-in-python.md index 81b55876..bb4e102c 100644 --- a/content/master/guides/write-a-composition-function-in-python.md +++ b/content/master/guides/write-a-composition-function-in-python.md @@ -1,7 +1,7 @@ --- title: Write a Composition Function in Python weight: 81 -description: "Composition functions allow you to template resources using Python" +description: "Build composition functions in Python" --- Composition functions (or just functions, for short) are custom programs that diff --git a/content/master/learn/feature-lifecycle.md b/content/master/learn/feature-lifecycle.md index 8f3934ce..2da306da 100644 --- a/content/master/learn/feature-lifecycle.md +++ b/content/master/learn/feature-lifecycle.md @@ -3,6 +3,7 @@ title: Feature Lifecycle toc: true weight: 309 indent: true +description: "Crossplane's feature development process" --- # Feature lifecycle diff --git a/content/master/learn/release-cycle.md b/content/master/learn/release-cycle.md index f9d650e4..92e2af6a 100644 --- a/content/master/learn/release-cycle.md +++ b/content/master/learn/release-cycle.md @@ -1,6 +1,7 @@ --- title: Release Cycle weight: 308 +description: "When and how Crossplane releases are cut" --- Starting with the v1.10.0 release, Crossplane releases on a quarterly (13 diff --git a/content/master/managed-resources/_index.md b/content/master/managed-resources/_index.md index a1004397..dd2d59ae 100644 --- a/content/master/managed-resources/_index.md +++ b/content/master/managed-resources/_index.md @@ -1,7 +1,7 @@ --- title: Managed Resources weight: 52 -description: Understand Crossplane's managed resources and selective activation +description: Manage cloud resources in Kubernetes --- -{{< auto-index >}} \ No newline at end of file +{{< auto-index >}} diff --git a/content/master/managed-resources/managed-resource-activation-policies.md b/content/master/managed-resources/managed-resource-activation-policies.md index 0d15583b..8c6229ea 100644 --- a/content/master/managed-resources/managed-resource-activation-policies.md +++ b/content/master/managed-resources/managed-resource-activation-policies.md @@ -3,9 +3,7 @@ title: Managed Resource Activation Policies weight: 20 state: alpha alphaVersion: 2.0 -description: ManagedResourceActivationPolicies control which - ManagedResourceDefinitions activate for selective provider resource - installation +description: Choose which provider resources Crossplane activates --- {{}} diff --git a/content/master/managed-resources/managed-resource-definitions.md b/content/master/managed-resources/managed-resource-definitions.md index 248a9b52..9756beb6 100644 --- a/content/master/managed-resources/managed-resource-definitions.md +++ b/content/master/managed-resources/managed-resource-definitions.md @@ -3,8 +3,7 @@ title: Managed Resource Definitions weight: 15 state: alpha alphaVersion: 2.0 -description: ManagedResourceDefinitions enable selective activation of provider - resources and reduce CRD overhead +description: Enable selective activation of provider resources --- {{}} diff --git a/content/master/managed-resources/managed-resources.md b/content/master/managed-resources/managed-resources.md index cb797fe9..279b160f 100644 --- a/content/master/managed-resources/managed-resources.md +++ b/content/master/managed-resources/managed-resources.md @@ -1,7 +1,7 @@ --- title: Managed Resources weight: 10 -description: "Managed resources are the Crossplane representation of external provider resources" +description: "Kubernetes representations of cloud resources" --- A _managed resource_ (`MR`) represents an external service in a Provider. When diff --git a/content/master/managed-resources/usages.md b/content/master/managed-resources/usages.md index c2944cb6..69a94b4c 100644 --- a/content/master/managed-resources/usages.md +++ b/content/master/managed-resources/usages.md @@ -4,7 +4,7 @@ weight: 30 state: beta alphaVersion: "1.14" betaVersion: "1.19" -description: "Usage indicates a resource is in use" +description: "Block deletion of in-use resources" --- A `Usage` indicates a resource is in use. Two main use cases for Usages are @@ -288,4 +288,4 @@ spec: resourceRef: name: importantresources.example.crossplane.io reason: "Very important CRD - should never be deleted!" -``` \ No newline at end of file +``` diff --git a/content/master/operations/_index.md b/content/master/operations/_index.md index 3870e523..508f4765 100644 --- a/content/master/operations/_index.md +++ b/content/master/operations/_index.md @@ -3,7 +3,7 @@ title: Operations weight: 52 state: alpha alphaVersion: 2.0 -description: Understand Crossplane's Operations feature +description: Run operational tasks with Crossplane --- {{< auto-index >}} \ No newline at end of file diff --git a/content/master/operations/cronoperation.md b/content/master/operations/cronoperation.md index 45327cf2..ee37d3ce 100644 --- a/content/master/operations/cronoperation.md +++ b/content/master/operations/cronoperation.md @@ -3,7 +3,7 @@ title: Cron Operations weight: 120 state: alpha alphaVersion: 2.0 -description: CronOperations create Operations on a schedule for recurring tasks +description: Run function pipelines on a schedule --- A `CronOperation` creates [Operations]({{}}) on a schedule, diff --git a/content/master/operations/operation.md b/content/master/operations/operation.md index 94ffc761..631ae295 100644 --- a/content/master/operations/operation.md +++ b/content/master/operations/operation.md @@ -3,7 +3,7 @@ title: Operations weight: 110 state: alpha alphaVersion: 2.0 -description: Operations run function pipelines once to completion for operational tasks +description: Run function pipelines once to completion --- An `Operation` runs a function pipeline once to completion to perform operational diff --git a/content/master/operations/watchoperation.md b/content/master/operations/watchoperation.md index 1e8a651b..a0678ee3 100644 --- a/content/master/operations/watchoperation.md +++ b/content/master/operations/watchoperation.md @@ -3,7 +3,7 @@ title: Watch Operations weight: 130 state: alpha alphaVersion: 2.0 -description: WatchOperations create Operations when watched resources change +description: Run function pipelines on resource changes --- A `WatchOperation` creates [Operations]({{}}) when watched diff --git a/content/master/packages/_index.md b/content/master/packages/_index.md index 637831f0..d65b572a 100644 --- a/content/master/packages/_index.md +++ b/content/master/packages/_index.md @@ -1,7 +1,7 @@ --- title: Packages weight: 53 -description: Understand Crossplane's core components +description: Extend Crossplane with packages --- {{< auto-index >}} \ No newline at end of file diff --git a/content/master/packages/configurations.md b/content/master/packages/configurations.md index d2997980..c2e71d63 100644 --- a/content/master/packages/configurations.md +++ b/content/master/packages/configurations.md @@ -1,6 +1,6 @@ --- title: Configurations -description: "Packages combine multiple Crossplane resources into a single, portable, OCI image." +description: "Portable packages of Crossplane resources" altTitle: "Crossplane Packages" weight: 200 --- diff --git a/content/master/packages/image-configs.md b/content/master/packages/image-configs.md index 58999a64..6ed9bc7a 100644 --- a/content/master/packages/image-configs.md +++ b/content/master/packages/image-configs.md @@ -1,7 +1,7 @@ --- title: Image Configs weight: 400 -description: "Image Configs is an API for centralized control of the configuration of Crossplane package images." +description: "Centralized control of package image configuration" --- From c005bb353b72fc833528e20e3a6082e49bdea0c6 Mon Sep 17 00:00:00 2001 From: Nic Cope Date: Thu, 14 Aug 2025 12:32:28 -0700 Subject: [PATCH 4/5] Address vale warnings and errors These weren't introduced by this PR - I think they were missed in recent ones. Signed-off-by: Nic Cope --- content/master/composition/compositions.md | 8 ++++---- content/master/guides/pods.md | 2 +- content/master/operations/operation.md | 10 +++++----- utils/vale/styles/Crossplane/allowed-jargon.txt | 1 + 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/content/master/composition/compositions.md b/content/master/composition/compositions.md index c92915e3..8fc380a0 100644 --- a/content/master/composition/compositions.md +++ b/content/master/composition/compositions.md @@ -784,15 +784,15 @@ Function response caching is an alpha feature. Enable it by setting the Crossplane can cache function responses to improve performance by reducing repeated function calls. When enabled, Crossplane caches responses from -composition functions that include a Time-To-Live (TTL) value. +composition functions that include a time to live (TTL) value. The cache works by: - Storing function responses on disk based on a hash of the request -- Only caching responses with a non-zero TTL +- Only caching responses with a nonzero TTL - Automatically removing expired cache entries - Reusing cached responses for identical requests until they expire -This feature is particularly useful for functions that: +This feature helps functions that: - Perform expensive computations or external API calls - Return stable results for the same inputs - Include appropriate TTL values in their responses @@ -803,6 +803,6 @@ Control the cache behavior with these Crossplane pod arguments: - `--xfn-cache-max-ttl` - Maximum cache duration (default: 24 hours) -The cache stores files in the `/cache/xfn/` directory within the Crossplane pod. +The cache stores files in the `/cache/xfn/` directory in the Crossplane pod. For better performance, consider using an in-memory cache by mounting an emptyDir volume with `medium: Memory`. diff --git a/content/master/guides/pods.md b/content/master/guides/pods.md index 792245e7..6cfebeae 100644 --- a/content/master/guides/pods.md +++ b/content/master/guides/pods.md @@ -137,7 +137,7 @@ Kubernetes API server when a composed resource changes. For example, when a provider sets the `Ready` condition to `true`. {{}} -Real time compositions are a beta feature. Beta features are enabled by +Real time compositions are a beta feature. Crossplane enables beta features by default. {{< /hint >}} diff --git a/content/master/operations/operation.md b/content/master/operations/operation.md index 631ae295..f4a66ed4 100644 --- a/content/master/operations/operation.md +++ b/content/master/operations/operation.md @@ -304,17 +304,17 @@ Function response caching is an alpha feature. Enable it by setting the `--enable-function-response-cache` feature flag. {{< /hint >}} -Operations can benefit from function response caching to improve performance, -especially for operations that: -- Call the same functions repeatedly with identical inputs +Operations can use function response caching to improve performance +for operations that: +- Call the same functions often with identical inputs - Use functions that perform expensive computations or external API calls - Run frequently through CronOperation or WatchOperation The cache works the same way as for Compositions - function responses with -time to live values are cached and reused for identical requests until +time to live values cache and reuse identical requests until they expire. -This is particularly useful for Operations that: +Function response caching helps Operations that: - Validate configurations using expensive checks - Query external systems for status information - Perform complex calculations that don't change frequently diff --git a/utils/vale/styles/Crossplane/allowed-jargon.txt b/utils/vale/styles/Crossplane/allowed-jargon.txt index 12ed111a..9a5ee751 100644 --- a/utils/vale/styles/Crossplane/allowed-jargon.txt +++ b/utils/vale/styles/Crossplane/allowed-jargon.txt @@ -108,6 +108,7 @@ syscall templated TLS tolerations +TTL UI VM walkthrough From d34b2765609fea5f3f126b54311d1d7a72e8e369 Mon Sep 17 00:00:00 2001 From: Nic Cope Date: Thu, 14 Aug 2025 13:02:52 -0700 Subject: [PATCH 5/5] Sync content/master -> content/v2.0 Signed-off-by: Nic Cope --- content/v2.0/cli/_index.md | 2 +- content/v2.0/composition/_index.md | 4 +- .../composite-resource-definitions.md | 2 +- .../v2.0/composition/composite-resources.md | 2 +- .../v2.0/composition/composition-revisions.md | 1 + content/v2.0/composition/compositions.md | 43 +++++++++++++++++-- .../v2.0/composition/environment-configs.md | 2 +- content/v2.0/get-started/_index.md | 1 + .../get-started-with-composition.md | 1 + .../get-started-with-managed-resources.md | 1 + .../get-started-with-operations.md | 1 + content/v2.0/get-started/install.md | 4 +- content/v2.0/guides/_index.md | 4 +- .../v2.0/guides/crossplane-with-argo-cd.md | 1 + .../v2.0/guides/extensions-release-process.md | 3 +- .../guides/function-patch-and-transform.md | 19 +++++--- .../v2.0/guides/implementing-safe-start.md | 3 +- content/v2.0/guides/metrics.md | 2 +- content/v2.0/guides/pods.md | 4 +- content/v2.0/guides/self-signed-ca-certs.md | 3 +- .../v2.0/guides/troubleshoot-crossplane.md | 1 + content/v2.0/guides/uninstall-crossplane.md | 1 + content/v2.0/guides/upgrade-crossplane.md | 1 + .../write-a-composition-function-in-go.md | 2 +- .../write-a-composition-function-in-python.md | 2 +- content/v2.0/learn/feature-lifecycle.md | 1 + content/v2.0/learn/release-cycle.md | 1 + content/v2.0/managed-resources/_index.md | 4 +- .../managed-resource-activation-policies.md | 4 +- .../managed-resource-definitions.md | 3 +- .../managed-resources/managed-resources.md | 2 +- content/v2.0/managed-resources/usages.md | 4 +- content/v2.0/operations/_index.md | 4 +- content/v2.0/operations/cronoperation.md | 2 +- content/v2.0/operations/operation.md | 27 +++++++++++- content/v2.0/operations/watchoperation.md | 2 +- content/v2.0/packages/_index.md | 4 +- content/v2.0/packages/configurations.md | 2 +- content/v2.0/packages/image-configs.md | 2 +- 39 files changed, 130 insertions(+), 42 deletions(-) diff --git a/content/v2.0/cli/_index.md b/content/v2.0/cli/_index.md index 824e2be0..3316a1c8 100644 --- a/content/v2.0/cli/_index.md +++ b/content/v2.0/cli/_index.md @@ -1,7 +1,7 @@ --- weight: 200 title: CLI Reference -description: "Documentation for the Crossplane command-line interface" +description: "Command-line tools for Crossplane development" --- The Crossplane CLI helps simplify some development and administration aspects of diff --git a/content/v2.0/composition/_index.md b/content/v2.0/composition/_index.md index 329daec9..f2486cd7 100644 --- a/content/v2.0/composition/_index.md +++ b/content/v2.0/composition/_index.md @@ -1,5 +1,7 @@ --- title: Composition weight: 51 -description: Understand Crossplane's core components +description: Build custom APIs by composing Kubernetes resources --- + +{{< auto-index >}} diff --git a/content/v2.0/composition/composite-resource-definitions.md b/content/v2.0/composition/composite-resource-definitions.md index b76d2a8e..0eb242be 100644 --- a/content/v2.0/composition/composite-resource-definitions.md +++ b/content/v2.0/composition/composite-resource-definitions.md @@ -1,7 +1,7 @@ --- title: Composite Resource Definitions weight: 20 -description: "Composite Resource Definitions or XRDs define custom API schemas" +description: "Define schemas for composite resources" --- Composite resource definitions (`XRDs`) define the schema for a custom API. diff --git a/content/v2.0/composition/composite-resources.md b/content/v2.0/composition/composite-resources.md index 31a6e43c..cf93addc 100644 --- a/content/v2.0/composition/composite-resources.md +++ b/content/v2.0/composition/composite-resources.md @@ -1,7 +1,7 @@ --- title: Composite Resources weight: 10 -description: "Composite resources, an XR or XRs, represent a collection of related cloud resources." +description: "Custom APIs created by composing Kubernetes resources" --- A composite resource, or XR, represents a set of Kubernetes resources as a diff --git a/content/v2.0/composition/composition-revisions.md b/content/v2.0/composition/composition-revisions.md index 9fe2897f..b9695f6f 100644 --- a/content/v2.0/composition/composition-revisions.md +++ b/content/v2.0/composition/composition-revisions.md @@ -1,6 +1,7 @@ --- title: Composition Revisions weight: 35 +description: "Manage changes to Compositions with revisions" --- This guide discusses the use of "Composition Revisions" to make and roll diff --git a/content/v2.0/composition/compositions.md b/content/v2.0/composition/compositions.md index d0e00217..8fc380a0 100644 --- a/content/v2.0/composition/compositions.md +++ b/content/v2.0/composition/compositions.md @@ -5,7 +5,7 @@ aliases: - composition - composition-functions - /knowledge-base/guides/composition-functions -description: "Compositions are a template for creating composite resources" +description: "Define which resources to create and how" --- Compositions are a template for creating multiple Kubernetes resources as a @@ -140,7 +140,12 @@ reports `True`. Crossplane calls a Function to determine what resources it should create when you create a composite resource. The Function also tells Crossplane what to do -with these resources when you update or delete a composite resource. +with these resources when you update a composite resource. + +{{}} +Composition functions don't run when you delete a composite resource. +Crossplane handles deletion of composed resources automatically. +{{< /hint >}} When Crossplane calls a Function it sends it the current state of the composite resource. It also sends it the current state of any resources the composite @@ -576,7 +581,7 @@ sequenceDiagram Crossplane Pod->>+API Server: Apply desired composed resources ``` -When you create, update, or delete a composite resource that uses composition +When you create or update a composite resource that uses composition functions Crossplane calls each function in the order they appear in the Composition's pipeline. Crossplane calls each function by sending it a gRPC RunFunctionRequest. The function must respond with a gRPC RunFunctionResponse. @@ -769,3 +774,35 @@ that isn't desired state. Functions can use context for this. Any function can write to the pipeline context. Crossplane passes the context to all following functions. When Crossplane has called all functions it discards the pipeline context. + +### Function response cache + +{{}} +Function response caching is an alpha feature. Enable it by setting the +`--enable-function-response-cache` feature flag. +{{< /hint >}} + +Crossplane can cache function responses to improve performance by reducing +repeated function calls. When enabled, Crossplane caches responses from +composition functions that include a time to live (TTL) value. + +The cache works by: +- Storing function responses on disk based on a hash of the request +- Only caching responses with a nonzero TTL +- Automatically removing expired cache entries +- Reusing cached responses for identical requests until they expire + +This feature helps functions that: +- Perform expensive computations or external API calls +- Return stable results for the same inputs +- Include appropriate TTL values in their responses + +#### Cache configuration + +Control the cache behavior with these Crossplane pod arguments: + +- `--xfn-cache-max-ttl` - Maximum cache duration (default: 24 hours) + +The cache stores files in the `/cache/xfn/` directory in the Crossplane pod. +For better performance, consider using an in-memory cache by mounting an +emptyDir volume with `medium: Memory`. diff --git a/content/v2.0/composition/environment-configs.md b/content/v2.0/composition/environment-configs.md index 50d67221..542c2d01 100644 --- a/content/v2.0/composition/environment-configs.md +++ b/content/v2.0/composition/environment-configs.md @@ -4,7 +4,7 @@ weight: 75 state: beta alphaVersion: "1.11" betaVersion: "1.18" -description: "Environment Configs or EnvironmentConfigs are an in-memory datastore used in Compositions" +description: "In-memory data stores for Compositions" --- diff --git a/content/v2.0/guides/extensions-release-process.md b/content/v2.0/guides/extensions-release-process.md index 4a976959..e7f76c3d 100644 --- a/content/v2.0/guides/extensions-release-process.md +++ b/content/v2.0/guides/extensions-release-process.md @@ -1,8 +1,7 @@ --- title: Releasing Crossplane Extensions weight: 80 -description: "Configuring build pipelines for Crossplane extensions with GitHub -Actions" +description: "Build pipelines for Crossplane extensions" --- diff --git a/content/v2.0/guides/function-patch-and-transform.md b/content/v2.0/guides/function-patch-and-transform.md index 9a86c837..ca8b2362 100644 --- a/content/v2.0/guides/function-patch-and-transform.md +++ b/content/v2.0/guides/function-patch-and-transform.md @@ -1,7 +1,7 @@ --- title: Function Patch and Transform weight: 70 -description: "A function that use patches and transforms to change inputs from composite resources before creating managed resources" +description: "Write legacy Compositions" --- Function Patch and Transform allows you to write a Composition that specifies @@ -424,7 +424,7 @@ environment: patches: - type: ToCompositeFieldPath fromFieldPath: tags - toFieldPath: metadata.labels[envTag] + toFieldPath: status.envTag - type: FromCompositeFieldPath fromFieldPath: metadata.name toFieldPath: newEnvironmentKey @@ -667,7 +667,12 @@ Composition and use it in a second composed resource in the same Composition. {{< /hint >}} For example, after Crossplane creates a new managed resource, take the value -`hostedZoneID` and apply it as a `label` in the composite resource. +`hostedZoneID` and store it in the composite resource's status. + +{{< hint "important" >}} +To patch to composite resource status fields, you must first define the custom +status fields in the CompositeResourceDefinition. +{{< /hint >}} ```yaml {label="toComposite",copy-lines="9-11"} apiVersion: pt.fn.crossplane.io/v1beta1 @@ -683,7 +688,7 @@ resources: patches: - type: ToCompositeFieldPath fromFieldPath: status.atProvider.hostedZoneId - toFieldPath: metadata.labels['ZoneID'] + toFieldPath: status.hostedZoneId ``` View the created managed resource to see the @@ -698,12 +703,14 @@ Status: # Removed for brevity ``` -Next view the composite resource and confirm the patch applied the `label` +Next view the composite resource and confirm the patch applied to the status ```yaml {label="toCompositeXR",copy-lines="none"} $ kubectl describe composite Name: my-example-p5pxf -Labels: ZoneID=Z2O1EMRO9K5GLX +# Removed for brevity +Status: + Hosted Zone Id: Z2O1EMRO9K5GLX ``` diff --git a/content/v2.0/guides/implementing-safe-start.md b/content/v2.0/guides/implementing-safe-start.md index b8c36a21..21d08b32 100644 --- a/content/v2.0/guides/implementing-safe-start.md +++ b/content/v2.0/guides/implementing-safe-start.md @@ -3,8 +3,7 @@ title: Implementing safe-start in Providers weight: 90 state: alpha alphaVersion: 2.0 -description: Guide for provider developers to add safe-start capability for - selective resource activation +description: Add selective resource activation to providers --- This guide shows provider developers how to implement safe-start capability in diff --git a/content/v2.0/guides/metrics.md b/content/v2.0/guides/metrics.md index c8a67ead..255d584e 100644 --- a/content/v2.0/guides/metrics.md +++ b/content/v2.0/guides/metrics.md @@ -1,7 +1,7 @@ --- title: Metrics weight: 60 -description: "Metrics are essential for monitoring Crossplane's operations, helping to identify and resolve potential issues." +description: "Monitor Crossplane operations with metrics" --- Crossplane produces [Prometheus style metrics](https://prometheus.io/docs/introduction/overview/#what-are-metrics) for effective monitoring and alerting in your environment. diff --git a/content/v2.0/guides/pods.md b/content/v2.0/guides/pods.md index 716c1a03..6cfebeae 100644 --- a/content/v2.0/guides/pods.md +++ b/content/v2.0/guides/pods.md @@ -1,7 +1,7 @@ --- title: Crossplane Pods weight: 1 -description: Background on the components installed with Crossplane and their functions. +description: Components installed with Crossplane --- The base Crossplane installation consists of two pods, the `crossplane` pod and @@ -137,7 +137,7 @@ Kubernetes API server when a composed resource changes. For example, when a provider sets the `Ready` condition to `true`. {{}} -Real time compositions are an alpha feature. Alpha features aren't enabled by +Real time compositions are a beta feature. Crossplane enables beta features by default. {{< /hint >}} diff --git a/content/v2.0/guides/self-signed-ca-certs.md b/content/v2.0/guides/self-signed-ca-certs.md index 38696688..c79de817 100644 --- a/content/v2.0/guides/self-signed-ca-certs.md +++ b/content/v2.0/guides/self-signed-ca-certs.md @@ -2,7 +2,8 @@ --- title: Self-signed CA certs -weight: 270 +weight: 270 +description: "Configure Crossplane with self-signed certificates" --- diff --git a/content/v2.0/guides/troubleshoot-crossplane.md b/content/v2.0/guides/troubleshoot-crossplane.md index f36f9623..99f1d37f 100644 --- a/content/v2.0/guides/troubleshoot-crossplane.md +++ b/content/v2.0/guides/troubleshoot-crossplane.md @@ -1,6 +1,7 @@ --- title: Troubleshoot Crossplane weight: 306 +description: "Debug common Crossplane issues" --- ## Requested resource not found diff --git a/content/v2.0/guides/uninstall-crossplane.md b/content/v2.0/guides/uninstall-crossplane.md index e4d17769..b6045343 100644 --- a/content/v2.0/guides/uninstall-crossplane.md +++ b/content/v2.0/guides/uninstall-crossplane.md @@ -1,6 +1,7 @@ --- title: Uninstall Crossplane weight: 500 +description: "Remove Crossplane from your cluster" --- {{}} diff --git a/content/v2.0/guides/upgrade-crossplane.md b/content/v2.0/guides/upgrade-crossplane.md index c899658d..7aee892d 100644 --- a/content/v2.0/guides/upgrade-crossplane.md +++ b/content/v2.0/guides/upgrade-crossplane.md @@ -1,6 +1,7 @@ --- title: Upgrade Crossplane weight: 400 +description: "Upgrade Crossplane to newer versions" --- The recommended upgrade method for an existing Crossplane install is to use diff --git a/content/v2.0/guides/write-a-composition-function-in-go.md b/content/v2.0/guides/write-a-composition-function-in-go.md index c40e415b..87283b25 100644 --- a/content/v2.0/guides/write-a-composition-function-in-go.md +++ b/content/v2.0/guides/write-a-composition-function-in-go.md @@ -1,7 +1,7 @@ --- title: Write a Composition Function in Go weight: 80 -description: "Composition functions allow you to template resources using Go" +description: "Build composition functions in Go" --- Composition functions (or just functions, for short) are custom programs that diff --git a/content/v2.0/guides/write-a-composition-function-in-python.md b/content/v2.0/guides/write-a-composition-function-in-python.md index 81b55876..bb4e102c 100644 --- a/content/v2.0/guides/write-a-composition-function-in-python.md +++ b/content/v2.0/guides/write-a-composition-function-in-python.md @@ -1,7 +1,7 @@ --- title: Write a Composition Function in Python weight: 81 -description: "Composition functions allow you to template resources using Python" +description: "Build composition functions in Python" --- Composition functions (or just functions, for short) are custom programs that diff --git a/content/v2.0/learn/feature-lifecycle.md b/content/v2.0/learn/feature-lifecycle.md index 8f3934ce..2da306da 100644 --- a/content/v2.0/learn/feature-lifecycle.md +++ b/content/v2.0/learn/feature-lifecycle.md @@ -3,6 +3,7 @@ title: Feature Lifecycle toc: true weight: 309 indent: true +description: "Crossplane's feature development process" --- # Feature lifecycle diff --git a/content/v2.0/learn/release-cycle.md b/content/v2.0/learn/release-cycle.md index f9d650e4..92e2af6a 100644 --- a/content/v2.0/learn/release-cycle.md +++ b/content/v2.0/learn/release-cycle.md @@ -1,6 +1,7 @@ --- title: Release Cycle weight: 308 +description: "When and how Crossplane releases are cut" --- Starting with the v1.10.0 release, Crossplane releases on a quarterly (13 diff --git a/content/v2.0/managed-resources/_index.md b/content/v2.0/managed-resources/_index.md index b96343c7..dd2d59ae 100644 --- a/content/v2.0/managed-resources/_index.md +++ b/content/v2.0/managed-resources/_index.md @@ -1,5 +1,7 @@ --- title: Managed Resources weight: 52 -description: Understand Crossplane's managed resources and selective activation +description: Manage cloud resources in Kubernetes --- + +{{< auto-index >}} diff --git a/content/v2.0/managed-resources/managed-resource-activation-policies.md b/content/v2.0/managed-resources/managed-resource-activation-policies.md index 0d15583b..8c6229ea 100644 --- a/content/v2.0/managed-resources/managed-resource-activation-policies.md +++ b/content/v2.0/managed-resources/managed-resource-activation-policies.md @@ -3,9 +3,7 @@ title: Managed Resource Activation Policies weight: 20 state: alpha alphaVersion: 2.0 -description: ManagedResourceActivationPolicies control which - ManagedResourceDefinitions activate for selective provider resource - installation +description: Choose which provider resources Crossplane activates --- {{}} diff --git a/content/v2.0/managed-resources/managed-resource-definitions.md b/content/v2.0/managed-resources/managed-resource-definitions.md index 248a9b52..9756beb6 100644 --- a/content/v2.0/managed-resources/managed-resource-definitions.md +++ b/content/v2.0/managed-resources/managed-resource-definitions.md @@ -3,8 +3,7 @@ title: Managed Resource Definitions weight: 15 state: alpha alphaVersion: 2.0 -description: ManagedResourceDefinitions enable selective activation of provider - resources and reduce CRD overhead +description: Enable selective activation of provider resources --- {{}} diff --git a/content/v2.0/managed-resources/managed-resources.md b/content/v2.0/managed-resources/managed-resources.md index cb797fe9..279b160f 100644 --- a/content/v2.0/managed-resources/managed-resources.md +++ b/content/v2.0/managed-resources/managed-resources.md @@ -1,7 +1,7 @@ --- title: Managed Resources weight: 10 -description: "Managed resources are the Crossplane representation of external provider resources" +description: "Kubernetes representations of cloud resources" --- A _managed resource_ (`MR`) represents an external service in a Provider. When diff --git a/content/v2.0/managed-resources/usages.md b/content/v2.0/managed-resources/usages.md index c2944cb6..69a94b4c 100644 --- a/content/v2.0/managed-resources/usages.md +++ b/content/v2.0/managed-resources/usages.md @@ -4,7 +4,7 @@ weight: 30 state: beta alphaVersion: "1.14" betaVersion: "1.19" -description: "Usage indicates a resource is in use" +description: "Block deletion of in-use resources" --- A `Usage` indicates a resource is in use. Two main use cases for Usages are @@ -288,4 +288,4 @@ spec: resourceRef: name: importantresources.example.crossplane.io reason: "Very important CRD - should never be deleted!" -``` \ No newline at end of file +``` diff --git a/content/v2.0/operations/_index.md b/content/v2.0/operations/_index.md index 9fa0fea8..508f4765 100644 --- a/content/v2.0/operations/_index.md +++ b/content/v2.0/operations/_index.md @@ -3,5 +3,7 @@ title: Operations weight: 52 state: alpha alphaVersion: 2.0 -description: Understand Crossplane's Operations feature +description: Run operational tasks with Crossplane --- + +{{< auto-index >}} \ No newline at end of file diff --git a/content/v2.0/operations/cronoperation.md b/content/v2.0/operations/cronoperation.md index 45327cf2..ee37d3ce 100644 --- a/content/v2.0/operations/cronoperation.md +++ b/content/v2.0/operations/cronoperation.md @@ -3,7 +3,7 @@ title: Cron Operations weight: 120 state: alpha alphaVersion: 2.0 -description: CronOperations create Operations on a schedule for recurring tasks +description: Run function pipelines on a schedule --- A `CronOperation` creates [Operations]({{}}) on a schedule, diff --git a/content/v2.0/operations/operation.md b/content/v2.0/operations/operation.md index bdd69c02..f4a66ed4 100644 --- a/content/v2.0/operations/operation.md +++ b/content/v2.0/operations/operation.md @@ -3,7 +3,7 @@ title: Operations weight: 110 state: alpha alphaVersion: 2.0 -description: Operations run function pipelines once to completion for operational tasks +description: Run function pipelines once to completion --- An `Operation` runs a function pipeline once to completion to perform operational @@ -297,6 +297,31 @@ For more details on RBAC configuration, see the [Compositions RBAC documentation]({{}}). {{}} +### Function response cache + +{{}} +Function response caching is an alpha feature. Enable it by setting the +`--enable-function-response-cache` feature flag. +{{< /hint >}} + +Operations can use function response caching to improve performance +for operations that: +- Call the same functions often with identical inputs +- Use functions that perform expensive computations or external API calls +- Run frequently through CronOperation or WatchOperation + +The cache works the same way as for Compositions - function responses with +time to live values cache and reuse identical requests until +they expire. + +Function response caching helps Operations that: +- Validate configurations using expensive checks +- Query external systems for status information +- Perform complex calculations that don't change frequently + +For cache configuration details, see the +[Function response cache documentation]({{}}). + ### Required resources Operations can preload resources for functions to access: diff --git a/content/v2.0/operations/watchoperation.md b/content/v2.0/operations/watchoperation.md index 1e8a651b..a0678ee3 100644 --- a/content/v2.0/operations/watchoperation.md +++ b/content/v2.0/operations/watchoperation.md @@ -3,7 +3,7 @@ title: Watch Operations weight: 130 state: alpha alphaVersion: 2.0 -description: WatchOperations create Operations when watched resources change +description: Run function pipelines on resource changes --- A `WatchOperation` creates [Operations]({{}}) when watched diff --git a/content/v2.0/packages/_index.md b/content/v2.0/packages/_index.md index 21c2ad06..d65b572a 100644 --- a/content/v2.0/packages/_index.md +++ b/content/v2.0/packages/_index.md @@ -1,5 +1,7 @@ --- title: Packages weight: 53 -description: Understand Crossplane's core components +description: Extend Crossplane with packages --- + +{{< auto-index >}} \ No newline at end of file diff --git a/content/v2.0/packages/configurations.md b/content/v2.0/packages/configurations.md index d2997980..c2e71d63 100644 --- a/content/v2.0/packages/configurations.md +++ b/content/v2.0/packages/configurations.md @@ -1,6 +1,6 @@ --- title: Configurations -description: "Packages combine multiple Crossplane resources into a single, portable, OCI image." +description: "Portable packages of Crossplane resources" altTitle: "Crossplane Packages" weight: 200 --- diff --git a/content/v2.0/packages/image-configs.md b/content/v2.0/packages/image-configs.md index 58999a64..6ed9bc7a 100644 --- a/content/v2.0/packages/image-configs.md +++ b/content/v2.0/packages/image-configs.md @@ -1,7 +1,7 @@ --- title: Image Configs weight: 400 -description: "Image Configs is an API for centralized control of the configuration of Crossplane package images." +description: "Centralized control of package image configuration" ---