New Crossplane governance policies and Official Providers: Upbound is strengthening the Crossplane community ecosystem and making updates to the Official Provider policy
xcluster.eks.aws.example.cloud xcluster.eks.aws.example.cloud
xcluster.eks.aws.example.cloud Referenced XRD CompositeCluster
YAML kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
name: xcluster.eks.aws.example.cloud
creationTimestamp: null
labels:
example.cloud/provider: example
spec:
compositeTypeRef:
apiVersion: eks.aws.example.cloud/v1beta1
kind: CompositeCluster
mode: Pipeline
pipeline:
- step: environmentConfigs
functionRef:
name: function-environment-configs
input:
apiVersion: environmentconfigs.fn.crossplane.io/v1beta1
kind: Input
spec:
environmentConfigs:
- selector:
matchLabels:
- key: region
type: FromCompositeFieldPath
valueFromFieldPath: spec.forProvider.region
- key: type
type: Value
value: network
type: Selector
- step: patch-and-transform
functionRef:
name: function-patch-and-transform
input:
apiVersion: pt.fn.crossplane.io/v1beta1
kind: Resources
patchSets:
- name: Name
patches:
- fromFieldPath: metadata.labels[crossplane.io/claim-name]
toFieldPath: metadata.annotations[crossplane.io/external-name]
type: FromCompositeFieldPath
- name: External-Name
patches:
- fromFieldPath: metadata.annotations[crossplane.io/external-name]
policy:
fromFieldPath: Optional
toFieldPath: metadata.annotations[crossplane.io/external-name]
type: FromCompositeFieldPath
- name: Common
patches:
- fromFieldPath: metadata.labels['crossplane.io/claim-name']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['crossplane.io/claim-name']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['crossplane.io/claim-namespace']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['crossplane.io/claim-namespace']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['crossplane.io/composite']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['crossplane.io/composite']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['external-name']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['external-name']
type: FromCompositeFieldPath
- name: Parameters
patches:
- fromFieldPath: aws.vpc.subnetIds
policy:
fromFieldPath: Required
toFieldPath: spec.forProvider.vpcConfig[0].subnetIds
type: FromEnvironmentFieldPath
- fromFieldPath: spec.deletionPolicy
policy:
fromFieldPath: Optional
toFieldPath: spec.deletionPolicy
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.enabledClusterLogTypes
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.enabledClusterLogTypes
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.encryptionConfig
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.encryptionConfig
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.kubernetesNetworkConfig
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.kubernetesNetworkConfig
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.outpostConfig
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.outpostConfig
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.region
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.region
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.roleArn
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.roleArn
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.roleArnRef.name
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.roleArnRef.name
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.roleArnRef.policy.resolution
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.roleArnRef.policy.resolution
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.roleArnRef.policy.resolve
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.roleArnRef.policy.resolve
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.roleArnSelector.matchControllerRef
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.roleArnSelector.matchControllerRef
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.roleArnSelector.matchLabels
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.roleArnSelector.matchLabels
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.roleArnSelector.policy.resolution
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.roleArnSelector.policy.resolution
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.roleArnSelector.policy.resolve
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.roleArnSelector.policy.resolve
type: FromCompositeFieldPath
- fromFieldPath: spec.forProvider.version
policy:
fromFieldPath: Optional
toFieldPath: spec.forProvider.version
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.enabledClusterLogTypes
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.enabledClusterLogTypes
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.encryptionConfig
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.encryptionConfig
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.kubernetesNetworkConfig
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.kubernetesNetworkConfig
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.outpostConfig
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.outpostConfig
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.roleArn
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.roleArn
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.roleArnRef.name
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.roleArnRef.name
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.roleArnRef.policy.resolution
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.roleArnRef.policy.resolution
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.roleArnRef.policy.resolve
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.roleArnRef.policy.resolve
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.roleArnSelector.matchControllerRef
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.roleArnSelector.matchControllerRef
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.roleArnSelector.matchLabels
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.roleArnSelector.matchLabels
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.roleArnSelector.policy.resolution
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.roleArnSelector.policy.resolution
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.roleArnSelector.policy.resolve
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.roleArnSelector.policy.resolve
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.tags
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.tags
type: FromCompositeFieldPath
- fromFieldPath: spec.initProvider.version
policy:
fromFieldPath: Optional
toFieldPath: spec.initProvider.version
type: FromCompositeFieldPath
- fromFieldPath: spec.managementPolicies
policy:
fromFieldPath: Optional
toFieldPath: spec.managementPolicies
type: FromCompositeFieldPath
- fromFieldPath: spec.providerConfigRef.name
policy:
fromFieldPath: Optional
toFieldPath: spec.providerConfigRef.name
type: FromCompositeFieldPath
- fromFieldPath: spec.providerConfigRef.policy.resolution
policy:
fromFieldPath: Optional
toFieldPath: spec.providerConfigRef.policy.resolution
type: FromCompositeFieldPath
- fromFieldPath: spec.providerConfigRef.policy.resolve
policy:
fromFieldPath: Optional
toFieldPath: spec.providerConfigRef.policy.resolve
type: FromCompositeFieldPath
- fromFieldPath: spec.publishConnectionDetailsTo.configRef.name
policy:
fromFieldPath: Optional
toFieldPath: spec.publishConnectionDetailsTo.configRef.name
type: FromCompositeFieldPath
- fromFieldPath: spec.publishConnectionDetailsTo.configRef.policy.resolution
policy:
fromFieldPath: Optional
toFieldPath: spec.publishConnectionDetailsTo.configRef.policy.resolution
type: FromCompositeFieldPath
- fromFieldPath: spec.publishConnectionDetailsTo.configRef.policy.resolve
policy:
fromFieldPath: Optional
toFieldPath: spec.publishConnectionDetailsTo.configRef.policy.resolve
type: FromCompositeFieldPath
- fromFieldPath: spec.publishConnectionDetailsTo.metadata.annotations
policy:
fromFieldPath: Optional
toFieldPath: spec.publishConnectionDetailsTo.metadata.annotations
type: FromCompositeFieldPath
- fromFieldPath: spec.publishConnectionDetailsTo.metadata.labels
policy:
fromFieldPath: Optional
toFieldPath: spec.publishConnectionDetailsTo.metadata.labels
type: FromCompositeFieldPath
- fromFieldPath: spec.publishConnectionDetailsTo.metadata.type
policy:
fromFieldPath: Optional
toFieldPath: spec.publishConnectionDetailsTo.metadata.type
type: FromCompositeFieldPath
- fromFieldPath: spec.publishConnectionDetailsTo.name
policy:
fromFieldPath: Optional
toFieldPath: spec.publishConnectionDetailsTo.name
type: FromCompositeFieldPath
- name: Status
patches:
- fromFieldPath: status.atProvider.arn
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.arn
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.certificateAuthority
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.certificateAuthority
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.clusterId
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.clusterId
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.createdAt
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.createdAt
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.enabledClusterLogTypes
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.enabledClusterLogTypes
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.encryptionConfig
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.encryptionConfig
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.endpoint
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.endpoint
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.id
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.id
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.identity
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.identity
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.kubernetesNetworkConfig
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.kubernetesNetworkConfig
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.outpostConfig
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.outpostConfig
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.platformVersion
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.platformVersion
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.roleArn
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.roleArn
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.status
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.status
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.tags
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.tags
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.tagsAll
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.tagsAll
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.version
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.version
type: ToCompositeFieldPath
- fromFieldPath: status.atProvider.vpcConfig
policy:
fromFieldPath: Optional
toFieldPath: status.atProvider.vpcConfig
type: ToCompositeFieldPath
- name: Labels
patches:
- fromFieldPath: metadata.labels['controlling.example.cloud/cost-reference']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['controlling.example.cloud/cost-reference']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['controlling.example.cloud/owner']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['controlling.example.cloud/owner']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['controlling.example.cloud/product']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['controlling.example.cloud/product']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['tags.example.cloud/account']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['tags.example.cloud/account']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['tags.example.cloud/environment']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['tags.example.cloud/environment']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['tags.example.cloud/protection-requirement']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['tags.example.cloud/protection-requirement']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['tags.example.cloud/repourl']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['tags.example.cloud/repourl']
type: FromCompositeFieldPath
- fromFieldPath: metadata.labels['tags.example.cloud/zone']
policy:
fromFieldPath: Optional
toFieldPath: metadata.labels['tags.example.cloud/zone']
type: FromCompositeFieldPath
resources:
- base:
apiVersion: eks.aws.upbound.io/v1beta1
kind: Cluster
metadata:
labels:
commonLabelA: commonLabelAValue
commonLabelB: commonLabelBValue
spec:
providerConfigRef:
name: default
name: Cluster
patches:
- patchSetName: Name
type: PatchSet
- patchSetName: External-Name
type: PatchSet
- patchSetName: Common
type: PatchSet
- patchSetName: Parameters
type: PatchSet
- patchSetName: Status
type: PatchSet
- patchSetName: Labels
type: PatchSet
- fromFieldPath: metadata.annotations["crossplane.io/external-name"]
policy:
fromFieldPath: Optional
toFieldPath: status.uid
type: ToCompositeFieldPath
- fromFieldPath: status.conditions
policy:
fromFieldPath: Optional
toFieldPath: status.observed.conditions
type: ToCompositeFieldPath
- step: automatically-detect-readiness
functionRef:
name: function-auto-ready