XConnector
upbound/configuration-caas@v0.2.0
TypeComposition
Referenced XRDXConnector
YAML
Composition
apiVersion: apiextensions.crossplane.io/v1
kind: Composition
metadata:
  name: xconnectors.mcp.caas.upbound.io
  creationTimestamp: null
spec:
  compositeTypeRef:
    apiVersion: mcp.caas.upbound.io/v1alpha1
    kind: XConnector
  resources:
    - base:
        apiVersion: iam.upbound.io/v1alpha1
        kind: Robot
      patches:
        - fromFieldPath: spec.parameters.deletionPolicy
          toFieldPath: spec.deletionPolicy
        - fromFieldPath: spec.parameters.organizationName
          toFieldPath: spec.forProvider.owner.name
        - fromFieldPath: metadata.labels[crossplane.io/claim-name]
          toFieldPath: spec.forProvider.name
          transforms:
            - type: string
              string:
                fmt: "%s-mcp-connector"
        - fromFieldPath: metadata.labels[crossplane.io/claim-name]
          toFieldPath: spec.forProvider.description
          transforms:
            - type: string
              string:
                fmt: "%s-mcp-connector"
    - base:
        apiVersion: iam.upbound.io/v1alpha1
        kind: Token
        spec:
          forProvider:
            owner:
              idSelector:
                matchControllerRef: true
              type: robots
          writeConnectionSecretToRef:
            namespace: upbound-system
      patches:
        - fromFieldPath: spec.parameters.deletionPolicy
          toFieldPath: spec.deletionPolicy
        - fromFieldPath: metadata.labels[crossplane.io/claim-name]
          toFieldPath: spec.forProvider.name
          transforms:
            - type: string
              string:
                fmt: "%s-mcp-connector-access-token"
        - fromFieldPath: metadata.labels[crossplane.io/claim-name]
          toFieldPath: spec.writeConnectionSecretToRef.name
          transforms:
            - type: string
              string:
                fmt: "%s-mcp-connector"
    - base:
        apiVersion: iam.upbound.io/v1alpha1
        kind: Team
      patches:
        - fromFieldPath: spec.parameters.deletionPolicy
          toFieldPath: spec.deletionPolicy
        - fromFieldPath: spec.parameters.organizationName
          toFieldPath: spec.forProvider.organizationName
        - fromFieldPath: metadata.labels[crossplane.io/claim-name]
          toFieldPath: spec.forProvider.name
          transforms:
            - type: string
              string:
                fmt: "%s-mcp-connector"
    - base:
        apiVersion: iam.upbound.io/v1alpha1
        kind: RobotTeamMembership
        spec:
          forProvider:
            robotIdSelector:
              matchControllerRef: true
            teamIdSelector:
              matchControllerRef: true
      patches:
        - fromFieldPath: spec.parameters.deletionPolicy
          toFieldPath: spec.deletionPolicy
    - base:
        apiVersion: mcp.upbound.io/v1alpha1
        kind: ControlPlanePermission
        spec:
          forProvider:
            permission: owner
            teamIdSelector:
              matchControllerRef: true
      patches:
        - fromFieldPath: spec.parameters.deletionPolicy
          toFieldPath: spec.deletionPolicy
        - fromFieldPath: spec.parameters.organizationName
          toFieldPath: spec.forProvider.organizationName
        - fromFieldPath: spec.parameters.controlPlaneName
          toFieldPath: spec.forProvider.controlPlaneName
    - base:
        apiVersion: helm.crossplane.io/v1beta1
        kind: Release
        spec:
          forProvider:
            chart:
              name: mcp-connector
              url: https://charts.upbound.io/beta/mcp-connector-0.3.2.tgz
              version: 0.3.2
            namespace: kube-system
            set:
              - name: mcp.token
                valueFrom:
                  secretKeyRef:
                    key: token
                    namespace: upbound-system
                    optional: false
            values:
              mcp:
                host: https://proxy.upbound.io
      patches:
        - fromFieldPath: metadata.labels
          toFieldPath: metadata.labels
        - fromFieldPath: metadata.annotations
          toFieldPath: metadata.annotations
        - fromFieldPath: spec.parameters.providerConfigName
          toFieldPath: spec.providerConfigRef.name
        - fromFieldPath: spec.parameters.deletionPolicy
          toFieldPath: spec.deletionPolicy
        - fromFieldPath: spec.parameters.organizationName
          toFieldPath: spec.forProvider.values.mcp.account
        - fromFieldPath: metadata.labels[crossplane.io/claim-name]
          toFieldPath: spec.forProvider.set[0].valueFrom.secretKeyRef.name
          transforms:
            - type: string
              string:
                fmt: "%s-mcp-connector"
        - fromFieldPath: spec.parameters.controlPlaneName
          toFieldPath: spec.forProvider.values.mcp.name
        - fromFieldPath: metadata.labels[crossplane.io/claim-name]
          toFieldPath: spec.forProvider.values.mcp.namespace
        - fromFieldPath: spec.parameters.version
          toFieldPath: spec.forProvider.chart.version
        - type: CombineFromComposite
          combine:
            variables:
              - fromFieldPath: spec.parameters.version
            strategy: string
            string:
              fmt: https://charts.upbound.io/beta/mcp-connector-%s.tgz
          toFieldPath: spec.forProvider.chart.url
        - fromFieldPath: spec.parameters.version
          toFieldPath: spec.forProvider.values.image.tag
          transforms:
            - type: string
              string:
                fmt: v%s
  writeConnectionSecretsToNamespace: upbound-system
Discover the building blocks for your internal cloud platform.
© 2026 Upbound, Inc.
Solutions
Learn
Company
Community
More