mirror of https://github.com/crossplane/docs.git
move around a bit of content. Trim down how much MRDs are on the front page docs
Signed-off-by: Scott Nichols <n3wscott@upbound.io>
This commit is contained in:
parent
8f42902352
commit
ded459a5b5
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -173,61 +173,6 @@ deprecate and remove cluster scoped MRs at a future date.
|
|||
Read more about Crossplane v2's [backward compatibility](#backward-compatibility).
|
||||
{{</hint>}}
|
||||
|
||||
## 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]({{<ref "../managed-resources/managed-resource-definitions">}})
|
||||
and [get started with MRDs]({{<ref "../get-started/get-started-with-mrds">}}).
|
||||
|
||||
## Compose any resource
|
||||
|
||||
Crossplane v2 isn't opinionated about using composition together with managed
|
||||
|
|
|
|||
Loading…
Reference in New Issue