Marketplace
BrowsePublish
Marketplace
upbound/platform-ref-multi-vault@v0.1.1
gke.gcp.multivault.crossplane.io

gke.gcp.multivault.crossplane.io

gke.gcp.multivault.crossplane.io
upbound/platform-ref-multi-vault@v0.1.1gke.gcp.multivault.crossplane.io
Type

Composition

Referenced XRD

GKE

Source Codegithub.com/upbound/platform-ref-multi-vault
Resources (3)

The following resources are composed to implement the referenced Composite Resource Definition (XRD).

Kind
Group
Version

Cluster

container.gcp.crossplane.io
v1beta2

NodePool

container.gcp.crossplane.io
v1beta1

ProviderConfig

helm.crossplane.io
v1beta1
YAML
kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
  name: gke.gcp.multivault.crossplane.io
  creationTimestamp: null
  labels:
    provider: GCP
spec:
  compositeTypeRef:
    apiVersion: gcp.multivault.crossplane.io/v1alpha1
    kind: GKE
  resources:
    - base:
        apiVersion: container.gcp.crossplane.io/v1beta2
        kind: Cluster
        spec:
          forProvider:
            addonsConfig:
              gcePersistentDiskCsiDriverConfig:
                enabled: true
            initialClusterVersion: "1.22"
            ipAllocationPolicy:
              clusterSecondaryRangeName: pods
              servicesSecondaryRangeName: services
              useIpAliases: true
            location: us-west2
            loggingService: logging.googleapis.com/kubernetes
            masterAuthorizedNetworksConfig:
              enabled: false
            monitoringService: monitoring.googleapis.com/kubernetes
            networkConfig:
              enableIntraNodeVisibility: true
      patches:
        - fromFieldPath: metadata.uid
          toFieldPath: spec.writeConnectionSecretToRef.name
          transforms:
            - type: string
              string:
                fmt: "%s-gkecluster"
        - fromFieldPath: spec.writeConnectionSecretToRef.namespace
          toFieldPath: spec.writeConnectionSecretToRef.namespace
        - fromFieldPath: spec.id
          toFieldPath: spec.forProvider.networkSelector.matchLabels[networks.gcp.multivault.crossplane.io/network-id]
        - fromFieldPath: spec.id
          toFieldPath: spec.forProvider.subnetworkSelector.matchLabels[networks.gcp.multivault.crossplane.io/network-id]
        - fromFieldPath: spec.projectID
          toFieldPath: spec.forProvider.workloadIdentityConfig.workloadPool
          transforms:
            - type: string
              string:
                fmt: "%s.svc.id.goog"
      connectionDetails:
        - fromConnectionSecretKey: kubeconfig
    - base:
        apiVersion: container.gcp.crossplane.io/v1beta1
        kind: NodePool
        spec:
          forProvider:
            autoscaling:
              enabled: true
            clusterSelector:
              matchControllerRef: true
            config:
              diskSizeGb: 100
              diskType: pd-standard
              imageType: COS
              metadata:
                disable-legacy-endpoints: "true"
              oauthScopes:
                - https://www.googleapis.com/auth/cloud-platform
              preemptible: true
              shieldedInstanceConfig:
                enableIntegrityMonitoring: true
                enableSecureBoot: true
              workloadMetadataConfig:
                mode: GKE_METADATA
            initialNodeCount: 1
            location: us-west2
            management:
              autoRepair: true
              autoUpgrade: false
            maxPodsConstraint:
              maxPodsPerNode: 55
          reclaimPolicy: Delete
      patches:
        - fromFieldPath: spec.parameters.nodes.size
          toFieldPath: spec.forProvider.config.machineType
          transforms:
            - type: map
              map:
                large: n1-standard-32
                medium: n1-standard-16
                small: n1-standard-4
        - fromFieldPath: spec.parameters.nodes.count
          toFieldPath: spec.forProvider.initialNodeCount
        - fromFieldPath: spec.parameters.nodes.count
          toFieldPath: spec.forProvider.autoscaling.minNodeCount
        - fromFieldPath: spec.parameters.nodes.count
          toFieldPath: spec.forProvider.autoscaling.maxNodeCount
    - base:
        apiVersion: helm.crossplane.io/v1beta1
        kind: ProviderConfig
        spec:
          credentials:
            secretRef:
              key: kubeconfig
            source: Secret
          identity:
            secretRef:
              key: credentials
              name: gcp-creds
            source: Secret
            type: GoogleApplicationCredentials
      patches:
        - fromFieldPath: spec.id
          toFieldPath: metadata.name
        - fromFieldPath: spec.writeConnectionSecretToRef.namespace
          toFieldPath: spec.credentials.secretRef.namespace
        - fromFieldPath: metadata.uid
          toFieldPath: spec.credentials.secretRef.name
          transforms:
            - type: string
              string:
                fmt: "%s-gkecluster"
        - fromFieldPath: spec.writeConnectionSecretToRef.namespace
          toFieldPath: spec.identity.secretRef.namespace
      readinessChecks:
        - type: None
  writeConnectionSecretsToNamespace: crossplane-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.