Skip to content

add crossplane integration example#413

Merged
cnvergence merged 10 commits into
kbind-dev:mainfrom
cnvergence:integration-crossplane
Dec 22, 2025
Merged

add crossplane integration example#413
cnvergence merged 10 commits into
kbind-dev:mainfrom
cnvergence:integration-crossplane

Conversation

@cnvergence

@cnvergence cnvergence commented Nov 30, 2025

Copy link
Copy Markdown
Member

Summary

This PR add a Crossplane external integration document with a walkthrough.
The example provisions a MySQL database in the provider cluster using provider-sql and showcases kube-bind providing a simple way to request a database service from service catalog.
Kudos to colleagues for the presentation that helped to get some visible Crossplane resources that could be used in kube-bind as well.

Also, adds self signed issuer step in the cert manager example.

What Type of PR Is This?

/kind documentation

Related Issue(s)

Fixes #400

Release Notes

Added Crossplane integration document

@cnvergence cnvergence marked this pull request as ready for review December 2, 2025 20:55
@cnvergence cnvergence requested a review from a team as a code owner December 2, 2025 20:55
@cnvergence

Copy link
Copy Markdown
Member Author

To be clarified, should we just keep all these files inlined in the doc, or are we fine with having some directory for these resources?
Maybe an additional repo if more will come?

@xrstf

xrstf commented Dec 5, 2025

Copy link
Copy Markdown
Contributor

Maybe an additional repo if more will come?

Seeing the examples currently being in the dev-only hack folder, I would say, yes, extra repo for examples. ^^

@cnvergence cnvergence force-pushed the integration-crossplane branch from e830d0a to 6f04d1f Compare December 9, 2025 19:45
@cnvergence

Copy link
Copy Markdown
Member Author

coderabbitai[bot]
coderabbitai Bot previously approved these changes Dec 10, 2025
@mjudeikis

Copy link
Copy Markdown
Contributor

@coderabbitai review please

@coderabbitai

coderabbitai Bot commented Dec 10, 2025

Copy link
Copy Markdown

@mjudeikis I will review the changes in this PR.


🧠 Learnings used
Learnt from: mjudeikis
Repo: kube-bind/kube-bind PR: 351
File: contrib/kcp/test/e2e/binding.go:49-56
Timestamp: 2025-11-04T11:51:36.024Z
Learning: In kube-bind e2e tests (contrib/kcp/test/e2e/), workspace-level isolation prevents conflicts between test runs, making it safe to use hardcoded resource names like "test-binding" without risk of concurrent test collisions.
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md
Comment thread docs/content/usage/integrations/crossplane.md

@mjudeikis mjudeikis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

in general can we just create a folder examples in root and add all yamls in there? Your repo has newer things than this document already.

@mjudeikis

Copy link
Copy Markdown
Contributor

Seeing the examples currently being in the dev-only hack folder, I would say, yes, extra repo for examples. ^^

Lets not add yet-another-repo to manage until we get things stable. Just add examples in the root dir

Comment thread docs/content/usage/integrations/crossplane.md
Copilot AI review requested due to automatic review settings December 12, 2025 15:28
coderabbitai[bot]
coderabbitai Bot previously approved these changes Dec 12, 2025

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds comprehensive Crossplane integration documentation and example files demonstrating how to use kube-bind with Crossplane for managed database provisioning. The example showcases a MySQL database service provisioned using Crossplane's provider-sql in a provider cluster, which is then exported and consumed via kube-bind. The PR also includes minor improvements to the cert-manager integration documentation.

Key changes:

  • Complete Crossplane integration walkthrough with MySQL database example using XRD, Composition, and provider-sql
  • Example YAML manifests for all components needed to run the integration
  • Addition of self-signed issuer setup instructions in the cert-manager documentation

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
docs/content/usage/integrations/crossplane.md New comprehensive guide for integrating kube-bind with Crossplane, including step-by-step MySQL database provisioning example
docs/content/usage/integrations/cert-manager.md Updated with self-signed issuer setup step and fixed trailing whitespace
docs/content/usage/integrations/.pages Added crossplane.md to navigation
examples/crossplane/xrd/xrd-db.yaml Defines the MySQLDatabase CompositeResourceDefinition (XRD) with kube-bind export label
examples/crossplane/xrd/composition.yaml Comprehensive Composition using Go templating to orchestrate MySQL database, user, and secret resources
examples/crossplane/xrd/function-go-templating.yaml Crossplane Function definition for Go templating support
examples/crossplane/mysql.yaml Kubernetes manifests for deploying MySQL server (Deployment, PV, PVC, Service)
examples/crossplane/db-provider/provider.yaml Crossplane provider-sql installation manifest
examples/crossplane/db-provider/config.yaml ProviderConfig for connecting to MySQL instance
examples/crossplane/db-apiserviceexporttemplate.yaml APIServiceExportTemplate to export MySQLDatabase API with secret permission claims
examples/crossplane/consumer-db.yaml Example consumer database request manifest

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread examples/crossplane/db-provider/config.yaml
Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md
Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/cert-manager.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md Outdated
coderabbitai[bot]
coderabbitai Bot previously approved these changes Dec 15, 2025

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md Outdated
coderabbitai[bot]
coderabbitai Bot previously approved these changes Dec 17, 2025
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
@cnvergence cnvergence force-pushed the integration-crossplane branch from 52f07f2 to f45c4f5 Compare December 17, 2025 19:18
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
coderabbitai[bot]
coderabbitai Bot previously approved these changes Dec 18, 2025

@mjudeikis mjudeikis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

few nits

Comment thread docs/content/usage/integrations/crossplane.md Outdated
Comment thread docs/content/usage/integrations/crossplane.md Outdated
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

On-behalf-of: @SAP karol.szwaj@sap.com
@cnvergence cnvergence requested a review from mjudeikis December 19, 2025 09:55
@mjudeikis

Copy link
Copy Markdown
Contributor

/lgtm
/approve

@cnvergence cnvergence enabled auto-merge December 19, 2025 14:04
@cnvergence cnvergence merged commit 0455d3d into kbind-dev:main Dec 22, 2025
11 checks passed
@cnvergence cnvergence deleted the integration-crossplane branch December 22, 2025 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feature: external integration with Crossplane

5 participants