From ded459a5b554f48fd8cf28142013511d76179644 Mon Sep 17 00:00:00 2001 From: Scott Nichols Date: Thu, 7 Aug 2025 14:35:58 -0700 Subject: [PATCH] move around a bit of content. Trim down how much MRDs are on the front page docs Signed-off-by: Scott Nichols --- .../master/guides/implementing-safestart.md | 49 ----------------- .../managed-resource-definitions.md | 30 ++++++++-- content/master/whats-crossplane/_index.md | 4 +- content/master/whats-new/_index.md | 55 ------------------- 4 files changed, 27 insertions(+), 111 deletions(-) diff --git a/content/master/guides/implementing-safestart.md b/content/master/guides/implementing-safestart.md index 7dcf9bb1..6275dee3 100644 --- a/content/master/guides/implementing-safestart.md +++ b/content/master/guides/implementing-safestart.md @@ -97,55 +97,6 @@ rules: verbs: ["get", "list", "watch"] ``` -### Step 3: Add connection details documentation - -Document connection details in your MRDs to help users understand resource -capabilities: - -```yaml -# Example generated MRD with connection details -apiVersion: apiextensions.crossplane.io/v1alpha1 -kind: ManagedResourceDefinition -metadata: - name: databases.rds.aws.example.io -spec: - group: rds.aws.example.io - names: - kind: Database - plural: databases - scope: Namespaced - - # safe-start-specific fields - connectionDetails: - - name: endpoint - description: "The RDS instance connection endpoint" - type: string - fromConnectionSecretKey: endpoint - - name: port - description: "The port number for database connections" - type: integer - fromConnectionSecretKey: port - - name: username - description: "The master username for the database" - type: string - fromConnectionSecretKey: username - - name: password - description: "The master password for the database" - type: string - fromConnectionSecretKey: password - - name: ca_certificate - description: "The CA certificate for SSL connections" - type: string - fromConnectionSecretKey: ca_certificate - - # Standard CRD specification - versions: - - name: v1alpha1 - served: true - storage: true - # ... rest of CRD spec -``` - ## Testing safe-start implementation ### Integration testing diff --git a/content/master/managed-resources/managed-resource-definitions.md b/content/master/managed-resources/managed-resource-definitions.md index 8e590a84..f96aa96d 100644 --- a/content/master/managed-resources/managed-resource-definitions.md +++ b/content/master/managed-resources/managed-resource-definitions.md @@ -123,22 +123,42 @@ resources. apiVersion: apiextensions.crossplane.io/v1alpha1 kind: ManagedResourceDefinition metadata: - name: instances.ec2.aws.crossplane.io + name: databases.rds.aws.crossplane.io spec: + group: rds.aws.crossplane.io + names: + kind: Database + plural: databases + scope: Namespaced + + # Connection details documentation connectionDetails: - name: endpoint - description: The connection endpoint for the database + description: "The RDS instance connection endpoint" type: string + fromConnectionSecretKey: endpoint - name: port - description: The port number for connections + description: "The port number for database connections" type: integer + fromConnectionSecretKey: port - name: username - description: The master username for the database + description: "The master username for the database" type: string + fromConnectionSecretKey: username - name: password - description: The master password for the database + description: "The master password for the database" type: string fromConnectionSecretKey: password + - name: ca_certificate + description: "The CA certificate for SSL connections" + type: string + fromConnectionSecretKey: ca_certificate + + # Standard CRD specification follows... + versions: + - name: v1alpha1 + served: true + storage: true ``` The `connectionDetails` field documents: diff --git a/content/master/whats-crossplane/_index.md b/content/master/whats-crossplane/_index.md index a558bd2c..f8ad0c79 100644 --- a/content/master/whats-crossplane/_index.md +++ b/content/master/whats-crossplane/_index.md @@ -46,14 +46,14 @@ involved in writing a controller. ## Crossplane components -Crossplane has four major components: +Crossplane has three major components: * [Composition](#composition) * [Managed resources](#managed-resources) * [Operations](#operations) * [Package manager](#package-manager) -You can use all four components to build your control plane, or pick only the +You can use all three components to build your control plane, or pick only the ones you need. ### Composition diff --git a/content/master/whats-new/_index.md b/content/master/whats-new/_index.md index c0d85e84..76d6e593 100644 --- a/content/master/whats-new/_index.md +++ b/content/master/whats-new/_index.md @@ -173,61 +173,6 @@ deprecate and remove cluster scoped MRs at a future date. Read more about Crossplane v2's [backward compatibility](#backward-compatibility). {{}} -## Managed resource definitions - -Crossplane v2 introduces Managed Resource Definitions (MRDs) that provide -selective resource activation and improved resource discovery. - -**MRDs solve performance and usability challenges with large providers.** -Installing a provider like AWS traditionally creates hundreds of CRDs, even if -you only need some resources. MRDs let you activate only the resources you -actually use. - -```mermaid -flowchart LR - provider(Provider Package) - mrd1(S3 Bucket MRD) - mrd2(EC2 Instance MRD) - mrd3(RDS DB MRD) - crd1(S3 Bucket CRD) - crd2(EC2 Instance CRD) - policy(Activation Policy) - - provider --> mrd1 - provider --> mrd2 - provider --> mrd3 - - policy -.->|activates| mrd1 - policy -.->|activates| mrd2 - mrd3 -.->|inactive| - - mrd1 --> crd1 - mrd2 --> crd2 - - style mrd1 fill:#c8e6c9 - style mrd2 fill:#c8e6c9 - style mrd3 fill:#ffcdd2 - style crd1 fill:#e8f5e8 - style crd2 fill:#e8f5e8 -``` - -### Key managed resource definition benefits - -**Performance optimization** - Only create CRDs for resources you need, reducing -cluster overhead and improving provider installation speed. - -**Connection details discovery** - MRDs document what connection details each -managed resource provides, making it easier to understand resource capabilities. - -**Policy-based activation** - Use ManagedResourceActivationPolicy (MRAP) to -activate resources with flexible pattern matching. - -**safe-start providers** - Providers can opt into safe-start capability, starting -with all MRDs inactive for better performance. - -Learn more about [Managed Resource Definitions]({{}}) -and [get started with MRDs]({{}}). - ## Compose any resource Crossplane v2 isn't opinionated about using composition together with managed