Skip to content

Add a quickstart for composing Kubernetes resources (apps) with Crossplane#864

Closed
cwilhit wants to merge 1 commit intocrossplane:masterfrom
cwilhit:app-composition-quickstart
Closed

Add a quickstart for composing Kubernetes resources (apps) with Crossplane#864
cwilhit wants to merge 1 commit intocrossplane:masterfrom
cwilhit:app-composition-quickstart

Conversation

@cwilhit
Copy link
Contributor

@cwilhit cwilhit commented Jan 31, 2025

This PR adds a guide to the main branch of the docs for how to compose Kubernetes objects (for app scenarios) using provider-kubernetes. There's an implementation with both patch-and-transform and KCL.

This guide assumes the user completes the prior AWS/Azure/GCP quickstart first, so it glosses over explanations of core Crossplane concepts.

…plane

Signed-off-by: Craig Wilhite <craig@upbound.io>
@cwilhit cwilhit force-pushed the app-composition-quickstart branch from cbc55f5 to e1323fa Compare January 31, 2025 05:59
@netlify
Copy link

netlify bot commented Jan 31, 2025

Deploy Preview for crossplane ready!

Name Link
🔨 Latest commit e1323fa
🔍 Latest deploy log https://app.netlify.com/sites/crossplane/deploys/679c66a905169c00084ad2b1
😎 Deploy Preview https://deploy-preview-864--crossplane.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 89 (🟢 up 15 from production)
Accessibility: 90 (🔴 down 2 from production)
Best Practices: 83 (no change from production)
SEO: 100 (no change from production)
PWA: 70 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Member

@negz negz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two nits but overall LGTM. Thank you!

metadata:
namespace: default
annotations:
krm.kcl.dev/composition-resource-name: "deployment"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't needed in P&T.

@@ -0,0 +1,545 @@
---
title: App Compositions Quickstart
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: App Compositions Quickstart
title: App Quickstart

Nit: The other titles are e.g. "AWS Quickstart", "GCP Quickstart" - without "Composition".

"App Model Quickstart" might be good too.

@haarchri
Copy link
Member

haarchri commented Feb 2, 2026

@cwilhit thank you for the work you put into this PR.

One important bit of context that has changed since this PR was opened:
Starting with Crossplane v2, composing arbitrary Kubernetes resources is supported out of the box. Because of that, the original framing of this PR around using provider-kubernetes for building the application model overlaps with functionality that is now part of the core composition experience.

That said, there is still a useful angle here. Some features (for example things like managementPolicies) are not supported in the same way when working with arbitrary resources.
If there is a need to document those gaps, tradeoffs, or specific patterns with provider-kubernetes, that would be great content, but it would fit better as a guide rather than core reference documentation.

So if you would like to continue this work, we would be happy to review a refreshed PR that:

  • Is based on the current Crossplane v2 docs structure
  • Reframes this as a guide (e.g., when and why to use provider-kubernetes with arbitrary resources)

For now, we will close this PR since it no longer aligns with the current docs state, but we would genuinely welcome a revised version.
Thanks again for the contribution and the effort you have put into it 🙌

@haarchri haarchri closed this Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants