From 622a3c343f4298faef4b67131e11eaff401e3db6 Mon Sep 17 00:00:00 2001 From: Jared Watts Date: Wed, 3 Sep 2025 16:24:30 -0700 Subject: [PATCH] clarify that plural names should be used in MRAPs Signed-off-by: Jared Watts --- .../managed-resource-activation-policies.md | 22 +++++++++++++------ .../managed-resource-activation-policies.md | 22 +++++++++++++------ 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/content/master/managed-resources/managed-resource-activation-policies.md b/content/master/managed-resources/managed-resource-activation-policies.md index 8c6229ea..80c58685 100644 --- a/content/master/managed-resources/managed-resource-activation-policies.md +++ b/content/master/managed-resources/managed-resource-activation-policies.md @@ -83,6 +83,13 @@ spec: - clusters.eks.aws.m.crossplane.io ``` +{{}} +Use the **plural** name when using a complete MRD name, aligning with how +Kubernetes expresses the complete names of CRDs. + +For example, use `buckets`, as opposed to `bucket`, in `buckets.s3.aws.m.crossplane.io`. +{{}} + ### Wildcard patterns Use `*` wildcards to match multiple resources: @@ -91,7 +98,7 @@ Use `*` wildcards to match multiple resources: spec: activate: - "*.s3.aws.m.crossplane.io" # All S3 resources - - "*.ec2.aws.m.crossplane.io" # All EC2 resources + - "*.ec2.aws.m.crossplane.io" # All EC2 resources - "*.rds.aws.m.crossplane.io" # All RDS databases ``` @@ -255,7 +262,7 @@ spec: - "*.s3.aws.m.crossplane.io" - "*.storage.gcp.m.crossplane.io" --- -# Database team MRAP +# Database team MRAP apiVersion: apiextensions.crossplane.io/v1alpha1 kind: ManagedResourceActivationPolicy metadata: @@ -332,7 +339,7 @@ status: reason: Running activated: - buckets.s3.aws.m.crossplane.io - - instances.ec2.aws.m.crossplane.io + - instances.ec2.aws.m.crossplane.io - instances.rds.aws.m.crossplane.io - securitygroups.ec2.aws.m.crossplane.io - subnets.ec2.aws.m.crossplane.io @@ -373,7 +380,7 @@ status: ```shell # List available MRDs kubectl get mrds - + # Check your pattern matches kubectl get mrds -o name | grep "your-pattern" ``` @@ -405,7 +412,7 @@ status: ```yaml conditions: - type: Healthy - status: "Unknown" + status: "Unknown" reason: EncounteredErrors message: "failed to activate 2 of 5 ManagedResourceDefinitions" ``` @@ -443,8 +450,9 @@ conflicts. This enables team-based activation strategies and Configuration package dependencies. -1. **Start specific, broaden as needed** - Begin with exact resource names, - add wildcards only when beneficial for maintainability +1. **Start specific, broaden as needed** - Begin with exact resource names + (using the plural name for each resource), add wildcards only when beneficial for + maintainability 2. **Plan for provider evolution** - Design wildcard patterns that accommodate new resources as providers add them (for example, `*.s3.aws.m.crossplane.io` works for future S3 resources) 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 8c6229ea..80c58685 100644 --- a/content/v2.0/managed-resources/managed-resource-activation-policies.md +++ b/content/v2.0/managed-resources/managed-resource-activation-policies.md @@ -83,6 +83,13 @@ spec: - clusters.eks.aws.m.crossplane.io ``` +{{}} +Use the **plural** name when using a complete MRD name, aligning with how +Kubernetes expresses the complete names of CRDs. + +For example, use `buckets`, as opposed to `bucket`, in `buckets.s3.aws.m.crossplane.io`. +{{}} + ### Wildcard patterns Use `*` wildcards to match multiple resources: @@ -91,7 +98,7 @@ Use `*` wildcards to match multiple resources: spec: activate: - "*.s3.aws.m.crossplane.io" # All S3 resources - - "*.ec2.aws.m.crossplane.io" # All EC2 resources + - "*.ec2.aws.m.crossplane.io" # All EC2 resources - "*.rds.aws.m.crossplane.io" # All RDS databases ``` @@ -255,7 +262,7 @@ spec: - "*.s3.aws.m.crossplane.io" - "*.storage.gcp.m.crossplane.io" --- -# Database team MRAP +# Database team MRAP apiVersion: apiextensions.crossplane.io/v1alpha1 kind: ManagedResourceActivationPolicy metadata: @@ -332,7 +339,7 @@ status: reason: Running activated: - buckets.s3.aws.m.crossplane.io - - instances.ec2.aws.m.crossplane.io + - instances.ec2.aws.m.crossplane.io - instances.rds.aws.m.crossplane.io - securitygroups.ec2.aws.m.crossplane.io - subnets.ec2.aws.m.crossplane.io @@ -373,7 +380,7 @@ status: ```shell # List available MRDs kubectl get mrds - + # Check your pattern matches kubectl get mrds -o name | grep "your-pattern" ``` @@ -405,7 +412,7 @@ status: ```yaml conditions: - type: Healthy - status: "Unknown" + status: "Unknown" reason: EncounteredErrors message: "failed to activate 2 of 5 ManagedResourceDefinitions" ``` @@ -443,8 +450,9 @@ conflicts. This enables team-based activation strategies and Configuration package dependencies. -1. **Start specific, broaden as needed** - Begin with exact resource names, - add wildcards only when beneficial for maintainability +1. **Start specific, broaden as needed** - Begin with exact resource names + (using the plural name for each resource), add wildcards only when beneficial for + maintainability 2. **Plan for provider evolution** - Design wildcard patterns that accommodate new resources as providers add them (for example, `*.s3.aws.m.crossplane.io` works for future S3 resources)