Marketplace
BrowsePublish
Marketplace
upbound/configuration-caas@v0.4.0
xcontrolplanes.mcp.caas.upbound.io

xcontrolplanes.mcp.caas.upbound.io

xcontrolplanes.mcp.caas.upbound.io
upbound/configuration-caas@v0.4.0xcontrolplanes.mcp.caas.upbound.io
Type

Composition

Referenced XRD

XControlPlane

Source Codegithub.com/upbound/configuration-caas
YAML
kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
  name: xcontrolplanes.mcp.caas.upbound.io
  creationTimestamp: null
spec:
  compositeTypeRef:
    apiVersion: mcp.caas.upbound.io/v1alpha1
    kind: XControlPlane
  mode: Pipeline
  pipeline:
    - step: patch-and-transform
      functionRef:
        name: crossplane-contrib-function-patch-and-transform
      input:
        apiVersion: pt.fn.crossplane.io/v1beta1
        kind: Resources
        resources:
          - base:
              apiVersion: mcp.upbound.io/v1alpha1
              kind: ControlPlane
            name: controlplane
            patches:
              - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                toFieldPath: metadata.annotations[crossplane.io/external-name]
                type: FromCompositeFieldPath
              - fromFieldPath: spec.parameters.organizationName
                toFieldPath: spec.forProvider.organizationName
                type: FromCompositeFieldPath
              - fromFieldPath: spec.parameters.configuration
                toFieldPath: spec.forProvider.configuration
                type: FromCompositeFieldPath
          - base:
              apiVersion: iam.upbound.io/v1alpha1
              kind: Robot
            name: mcp-robot
            patches:
              - combine:
                  strategy: string
                  string:
                    fmt: "%s-%s"
                  variables:
                    - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                    - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: metadata.name
                type: CombineFromComposite
              - combine:
                  strategy: string
                  string:
                    fmt: "%s-%s"
                  variables:
                    - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                    - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: spec.forProvider.name
                type: CombineFromComposite
              - fromFieldPath: spec.parameters.organizationName
                toFieldPath: spec.forProvider.owner.name
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                toFieldPath: spec.forProvider.description
                transforms:
                  - string:
                      fmt: "%s"
                      type: Format
                    type: string
                type: FromCompositeFieldPath
          - base:
              apiVersion: iam.upbound.io/v1alpha1
              kind: Token
              spec:
                forProvider:
                  name: mcprobot-composition-token
                  owner:
                    idSelector:
                      matchControllerRef: true
                    type: robots
                writeConnectionSecretToRef:
                  namespace: upbound-system
            name: mcp-robot-token
            patches:
              - combine:
                  strategy: string
                  string:
                    fmt: "%s-%s-robot-token"
                  variables:
                    - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                    - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: spec.writeConnectionSecretToRef.name
                type: CombineFromComposite
              - fromFieldPath: spec.writeConnectionSecretToRef.name
                toFieldPath: status.mcp.tokenSecret
                type: ToCompositeFieldPath
              - combine:
                  strategy: string
                  string:
                    fmt: "%s-%s"
                  variables:
                    - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                    - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: metadata.name
                type: CombineFromComposite
              - fromFieldPath: metadata.annotations[crossplane.io/external-name]
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.mcp.tokenAccessID
                type: ToCompositeFieldPath
          - base:
              apiVersion: iam.upbound.io/v1alpha1
              kind: Team
            name: mcp-team
            patches:
              - fromFieldPath: spec.parameters.organizationName
                toFieldPath: spec.forProvider.organizationName
                type: FromCompositeFieldPath
              - combine:
                  strategy: string
                  string:
                    fmt: "%s-%s-access"
                  variables:
                    - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                    - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: spec.forProvider.name
                type: CombineFromComposite
              - combine:
                  strategy: string
                  string:
                    fmt: "%s-%s-access"
                  variables:
                    - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                    - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: metadata.name
                type: CombineFromComposite
          - base:
              apiVersion: iam.upbound.io/v1alpha1
              kind: RobotTeamMembership
              spec:
                forProvider:
                  robotIdSelector:
                    matchControllerRef: true
                  teamIdSelector:
                    matchControllerRef: true
            name: mcp-team-membership
            patches:
              - combine:
                  strategy: string
                  string:
                    fmt: "%s-%s-access"
                  variables:
                    - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                    - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: metadata.name
                type: CombineFromComposite
          - base:
              apiVersion: mcp.upbound.io/v1alpha1
              kind: ControlPlanePermission
              spec:
                forProvider:
                  teamIdSelector:
                    matchControllerRef: true
            name: mcp-team-permission
            patches:
              - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                toFieldPath: spec.forProvider.controlPlaneName
                type: FromCompositeFieldPath
              - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: spec.forProvider.permission
                type: FromCompositeFieldPath
              - fromFieldPath: spec.parameters.organizationName
                toFieldPath: spec.forProvider.organizationName
                type: FromCompositeFieldPath
              - combine:
                  strategy: string
                  string:
                    fmt: "%s-%s-access"
                  variables:
                    - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                    - fromFieldPath: spec.parameters.robotPermission
                toFieldPath: metadata.name
                type: CombineFromComposite
          - base:
              apiVersion: mcp.upbound.io/v1alpha1
              kind: ControlPlaneAuth
              spec:
                forProvider:
                  tokenSecretRef:
                    key: token
                    namespace: upbound-system
                writeConnectionSecretToRef:
                  namespace: upbound-system
            connectionDetails:
              - fromConnectionSecretKey: kubeconfig
                name: kubeconfig
                type: FromConnectionSecretKey
            name: controlplane-auth
            patches:
              - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                toFieldPath: spec.writeConnectionSecretToRef.name
                transforms:
                  - string:
                      fmt: "%s-connection-details"
                      type: Format
                    type: string
                type: FromCompositeFieldPath
              - fromFieldPath: spec.writeConnectionSecretToRef.name
                toFieldPath: status.mcp.connectionSecretName
                type: ToCompositeFieldPath
              - fromFieldPath: status.mcp.tokenSecret
                policy:
                  fromFieldPath: Required
                toFieldPath: spec.forProvider.tokenSecretRef.name
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                toFieldPath: spec.forProvider.controlPlaneName
                type: FromCompositeFieldPath
              - fromFieldPath: spec.parameters.organizationName
                toFieldPath: spec.forProvider.organizationName
                type: FromCompositeFieldPath
  writeConnectionSecretsToNamespace: upbound-system
Marketplace

Discover the building blocks for your internal cloud platform.

© 2022 Upbound, Inc.

SolutionsProvidersConfigurations
LearnDocumentationTry for Free
MorePrivacy PolicyTerms & Conditions
Marketplace

© 2022 Upbound, Inc.

Marketplace

Discover the building blocksfor your internal cloud platform.