A PostgresCluster is an example API type.
Type
CRD
Group
dbaas.ionoscloud.crossplane.io
Version
v1alpha1
apiVersion: dbaas.ionoscloud.crossplane.io/v1alpha1
kind: PostgresCluster
A ClusterSpec defines the desired state of a Cluster.
ClusterParameters are the observable fields of a Cluster. Required fields in order to create a DBaaS Postgres Cluster: PostgresVersion, Instances, Cores, RAM, Storage Size, Storage Type, Connection (Datacenter ID or Reference, Lan ID and CIDR), Location (in sync with Datacenter), DisplayName, Credentials, Synchronization Mode.
Connection - details about the network connection (datacenter, lan, CIDR) for your cluster.
DatacenterConfig contains information about the datacenter resource.
DatacenterIDRef references to a Datacenter to retrieve its ID.
Policies for referencing.
DatacenterIDSelector selects reference to a Datacenter to retrieve its DatacenterID.
Policies for selection.
LanConfig contains information about the lan resource.
LanIDRef references to a Lan to retrieve its ID.
Policies for referencing.
LanIDSelector selects reference to a Lan to retrieve its LanID.
Policies for selection.
Database credentials - either set directly, or as secret/path/env
Env is a reference to an environment variable that contains credentials that must be used to connect to the provider.
Fs is a reference to a filesystem location that contains credentials that must be used to connect to the provider.
CreateRestoreRequest The restore request.
MaintenanceWindow A weekly 4 hour-long window, during which maintenance might occur.
THIS IS A BETA FIELD. It is on by default but can be opted out through a Crossplane feature flag. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md
ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.
Policies for referencing.
PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource.
WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other.
A ClusterStatus represents the observed state of a Cluster.
Conditions of the resource.
example
apiVersion: dbaas.ionoscloud.crossplane.io/v1alpha1
kind: PostgresCluster
metadata:
name: example
spec:
forProvider:
connectionPooler:
enabled: true
poolMode: session
connections:
- cidr: 192.168.1.100/24
datacenterConfig:
datacenterIdRef:
name: example
lanConfig:
lanIdRef:
name: examplelan
cores: 2
credentials:
secretRef:
key: credentials
name: psqlcreds
namespace: crossplane-system
source: Secret
displayName: testDemo
instances: 1
location: es/vit
postgresVersion: "13"
ram: 2048
storageSize: 20480
storageType: HDD
synchronizationMode: ASYNCHRONOUS
managementPolicies:
- "*"
providerConfigRef:
name: example
example
apiVersion: dbaas.ionoscloud.crossplane.io/v1alpha1
kind: PostgresCluster
metadata:
name: example
spec:
forProvider:
connections:
- cidr: 192.168.1.100/24
datacenterConfig:
datacenterIdRef:
name: datacenter
lanConfig:
lanIdRef:
name: landb
cores: 2
credentials:
secretRef:
key: credentials
name: psqlcreds
namespace: crossplane-system
source: Secret
displayName: testDemo
instances: 1
location: es/vit
postgresVersion: "13"
ram: 2048
storageSize: 20480
storageType: HDD
synchronizationMode: ASYNCHRONOUS
managementPolicies:
- "*"
providerConfigRef:
name: example