Marketplace
BrowsePublish
Marketplace
upbound/discourse@v0.0.1
xpostgres.discourse.upbound.io

xpostgres.discourse.upbound.io

xpostgres.discourse.upbound.io
upbound/discourse@v0.0.1xpostgres.discourse.upbound.io
Type

Composition

Referenced XRD

XDatabase

Source Codegithub.com/upbound/discourse
Resources (4)

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

Kind
Group
Version

SubnetGroup

rds.aws.upbound.io
v1beta1

Instance

rds.aws.upbound.io
v1beta1

SecurityGroup

ec2.aws.upbound.io
v1beta1

SecurityGroupRule

ec2.aws.upbound.io
v1beta1
YAML
kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
  name: xpostgres.discourse.upbound.io
  creationTimestamp: null
  labels:
    provider: aws
spec:
  compositeTypeRef:
    apiVersion: discourse.upbound.io/v1alpha1
    kind: XDatabase
  resources:
    - name: rdsSubnetGroup
      base:
        apiVersion: rds.aws.upbound.io/v1beta1
        kind: SubnetGroup
        spec:
          deletionPolicy: Delete
          forProvider:
            description: Database subnets.
            region: to-be-patched
            subnetIds:
              - to-be-patched
      patches:
        - fromFieldPath: spec.parameters.region
          toFieldPath: spec.forProvider.region
        - fromFieldPath: spec.parameters.subnetIds
          toFieldPath: spec.forProvider.subnetIds
    - name: rdsInstance
      base:
        apiVersion: rds.aws.upbound.io/v1beta1
        kind: Instance
        spec:
          deletionPolicy: Delete
          forProvider:
            allocatedStorage: 20
            dbSubnetGroupNameSelector:
              matchControllerRef: true
            engine: postgres
            engineVersion: "12"
            instanceClass: db.t3.micro
            publiclyAccessible: false
            region: to-be-patched
            skipFinalSnapshot: true
            username: discourseadmin
            vpcSecurityGroupIdSelector:
              matchControllerRef: true
      patches:
        - fromFieldPath: spec.parameters.region
          toFieldPath: spec.forProvider.region
        - fromFieldPath: spec.parameters.passwordSecretRef.namespace
          toFieldPath: spec.forProvider.passwordSecretRef.namespace
        - fromFieldPath: spec.parameters.passwordSecretRef.name
          toFieldPath: spec.forProvider.passwordSecretRef.name
        - fromFieldPath: spec.parameters.passwordSecretRef.key
          toFieldPath: spec.forProvider.passwordSecretRef.key
        - fromFieldPath: metadata.uid
          toFieldPath: spec.writeConnectionSecretToRef.name
          transforms:
            - type: string
              string:
                fmt: "%s-instance"
        - fromFieldPath: spec.writeConnectionSecretToRef.namespace
          toFieldPath: spec.writeConnectionSecretToRef.namespace
      connectionDetails:
        - name: endpoint
          fromFieldPath: status.atProvider.endpoint
        - name: host
          fromFieldPath: status.atProvider.address
        - name: username
          fromFieldPath: spec.forProvider.username
        - name: password
          fromConnectionSecretKey: attribute.password
    - name: securityGroup
      base:
        apiVersion: ec2.aws.upbound.io/v1beta1
        kind: SecurityGroup
        spec:
          deletionPolicy: Delete
          forProvider:
            description: Allow access to database
            name: discourse-database
            region: to-be-patched
            vpcId: to-be-patched
      patches:
        - fromFieldPath: spec.parameters.region
          toFieldPath: spec.forProvider.region
        - fromFieldPath: spec.parameters.vpcId
          toFieldPath: spec.forProvider.vpcId
    - name: securityGroupRule
      base:
        apiVersion: ec2.aws.upbound.io/v1beta1
        kind: SecurityGroupRule
        spec:
          deletionPolicy: Delete
          forProvider:
            cidrBlocks:
              - 0.0.0.0/0
            fromPort: 5432
            protocol: tcp
            region: to-be-patched
            securityGroupIdSelector:
              matchControllerRef: true
            toPort: 5432
            type: ingress
      patches:
        - fromFieldPath: spec.parameters.region
          toFieldPath: spec.forProvider.region
  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.