Composition
SQL
The following resources are composed to implement the referenced Composite Resource Definition (XRD).
ResourceGroup
Server
kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
name: azure-postgresql
creationTimestamp: null
labels:
db: postgresql
provider: azure
spec:
compositeTypeRef:
apiVersion: devopstoolkitseries.com/v1alpha1
kind: SQL
patchSets:
- name: metadata
patches:
- fromFieldPath: metadata.labels
resources:
- name: resourcegroup
base:
apiVersion: azure.jet.crossplane.io/v1alpha2
kind: ResourceGroup
spec:
forProvider:
location: eastus
patches:
- fromFieldPath: spec.id
toFieldPath: metadata.name
- fromFieldPath: spec.id
toFieldPath: spec.forProvider.name
- name: server
base:
apiVersion: dbforpostgresql.azure.jet.crossplane.io/v1alpha2
kind: Server
spec:
forProvider:
administratorLogin: sqladmin
administratorLoginPasswordSecretRef:
key: password
namespace: crossplane-system
autoGrowEnabled: true
location: eastus
publicNetworkAccessEnabled: true
resourceGroupNameSelector:
matchControllerRef: true
skuName: B_Gen5_2
sslEnforcementEnabled: true
sslMinimalTlsVersionEnforced: TLS1_2
storageMb: 5120
writeConnectionSecretToRef:
namespace: crossplane-system
patches:
- fromFieldPath: spec.id
toFieldPath: metadata.name
- fromFieldPath: metadata.uid
toFieldPath: spec.writeConnectionSecretToRef.name
transforms:
- type: string
string:
fmt: "%s-sql"
- fromFieldPath: spec.parameters.version
toFieldPath: spec.forProvider.version
- fromFieldPath: spec.parameters.size
toFieldPath: spec.forProvider.skuName
transforms:
- type: map
map:
large: B_Gen5_8
medium: B_Gen5_4
small: B_Gen5_2
- fromFieldPath: spec.parameters.version
toFieldPath: spec.forProvider.engineVersion
- fromFieldPath: spec.id
toFieldPath: spec.forProvider.administratorLoginPasswordSecretRef.name
transforms:
- type: string
string:
fmt: "%s-creds"
connectionDetails:
- fromConnectionSecretKey: username
- fromConnectionSecretKey: password
- fromConnectionSecretKey: endpoint
- fromConnectionSecretKey: port
writeConnectionSecretsToNamespace: crossplane-system