The following resources are composed to implement the referenced Composite Resource Definition (XRD).
Server
VirtualNetworkRule
kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
name: xpostgresqlinstances.azure.platformref.upbound.io
creationTimestamp: null
labels:
dbengine: postgresql
provider: azure
spec:
compositeTypeRef:
apiVersion: azure.platformref.upbound.io/v1alpha1
kind: XSQLInstance
resources:
- name: postgresqlserver
base:
apiVersion: dbforpostgresql.azure.upbound.io/v1beta1
kind: Server
spec:
forProvider:
administratorLogin: psqladmin
identity:
- type: SystemAssigned
infrastructureEncryptionEnabled: false
location: West US 2
skuName: GP_Gen5_2
sslEnforcementEnabled: false
sslMinimalTlsVersionEnforced: TLSEnforcementDisabled
storageMb: 5120
version: "11"
patches:
- fromFieldPath: spec.parameters.clusterRef.id
toFieldPath: metadata.name
transforms:
- type: string
string:
fmt: "%s-postgresql"
- fromFieldPath: spec.writeConnectionSecretToRef.namespace
toFieldPath: spec.writeConnectionSecretToRef.namespace
- fromFieldPath: metadata.uid
toFieldPath: spec.writeConnectionSecretToRef.name
transforms:
- type: string
string:
fmt: "%s-postgresql"
- fromFieldPath: spec.parameters.storageGB
toFieldPath: spec.forProvider.storageMb
transforms:
- type: math
math:
multiply: 1024
- fromFieldPath: spec.parameters.clusterRef.id
toFieldPath: spec.forProvider.resourceGroupNameSelector.matchLabels[azure.platformref.upbound.io/network-id]
- fromFieldPath: spec.parameters.passwordSecretRef.namespace
toFieldPath: spec.forProvider.administratorLoginPasswordSecretRef.namespace
- fromFieldPath: spec.parameters.passwordSecretRef.name
toFieldPath: spec.forProvider.administratorLoginPasswordSecretRef.name
- fromFieldPath: spec.parameters.passwordSecretRef.key
toFieldPath: spec.forProvider.administratorLoginPasswordSecretRef.key
connectionDetails:
- name: host
type: FromFieldPath
fromFieldPath: status.atProvider.fqdn
- name: username
type: FromConnectionSecretKey
fromConnectionSecretKey: username
- name: password
type: FromConnectionSecretKey
fromConnectionSecretKey: password
- name: port
type: FromConnectionSecretKey
fromConnectionSecretKey: port
- name: vnetrule
base:
apiVersion: dbforpostgresql.azure.upbound.io/v1beta1
kind: VirtualNetworkRule
spec:
forProvider:
serverNameSelector:
matchControllerRef: true
patches:
- fromFieldPath: spec.parameters.clusterRef.id
toFieldPath: metadata.name
transforms:
- type: string
string:
fmt: "%s-sn-rule"
- fromFieldPath: spec.parameters.clusterRef.id
toFieldPath: spec.forProvider.subnetIdSelector.matchLabels[azure.platformref.upbound.io/network-id]
- fromFieldPath: spec.parameters.clusterRef.id
toFieldPath: spec.forProvider.resourceGroupNameSelector.matchLabels[azure.platformref.upbound.io/network-id]
writeConnectionSecretsToNamespace: upbound-system