ServerSetServerSet represents a stateful set of servers in the Ionos Cloud. The number of replicas controls how many resources it creates in the Ionos Cloud. For 2 replicas defined, it will create for each: 1 server, 1 bootvolume, the nics configured(for each server). Each sub-resource created(server, bootvolume, nic) will have it's own CR that can be observed using kubectl. The SSet reads the active(master) identity from a configMap that needs to be named `config-lease`. If the configMap is not found, the active replica will be the first server created.
TypeMR
Providerprovider-ionoscloud
Groupcompute.ionoscloud.crossplane.io
Scopecluster
Versionv1alpha1

1apiVersion: compute.ionoscloud.crossplane.io/v1alpha1

2kind: ServerSet

kind
string
metadata
object
spec
object

A ServerSetSpec defines the desired state of a ServerSet.

forProvider
required
object

ServerSetParameters are the configurable fields of a ServerSet.

bootVolumeTemplate
required
object

BootVolumeTemplate are the configurable fields of a BootVolumeTemplate.

metadata
object

ServerSetBootVolumeMetadata are the configurable fields of a ServerSetBootVolumeMetadata.

labels
object
name
required
string
spec
required
object

ServerSetBootVolumeSpec are the configurable fields of a ServerSetBootVolumeSpec.

image
required
string
selector
object

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

array

matchExpressions is a list of label selector requirements. The requirements are ANDed.

key
required
string
operator
required
string
values
array

values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

size
required
number
sshKeys
array

Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.

array

Substitutions are used to replace placeholders in the cloud-init configuration. The property is immutable and is only allowed to be set on creation of a new a volume.

key
required
string
options
required
object
type
required
string
unique
required
boolean
type
required
string
updateStrategy
required
object

UpdateStrategy is the update strategy for the boot volume.

type
required
string
userData
string
datacenterConfig
required
object

DatacenterConfig contains information about the datacenter resource on which the server will be created.

object

DatacenterIDRef references to a Datacenter to retrieve its ID.

name
required
string
policy
object

Policies for referencing.

resolve
string
object

DatacenterIDSelector selects reference to a Datacenter to retrieve its DatacenterID.

policy
object

Policies for selection.

resolve
string
object

IdentityConfigMap is the configMap from which the identity of the ACTIVE server in the ServerSet is read. The configMap should be created separately. The serverset only reads the status from it. If it does not find it, it sets // the first server as the ACTIVE.

keyName
string
name
string
namespace
string
replicas
required
integer
template
required
object

ServerSetTemplate are the configurable fields of a ServerSetTemplate.

metadata
required
object

ServerSetMetadata are the configurable fields of a ServerSetMetadata.

labels
object
name
required
string
spec
required
object

ServerSetTemplateSpec are the configurable fields of a ServerSetTemplateSpec.

cores
required
integer
cpuFamily
string
nics
required
array

NICs are the network interfaces of the server.

dhcp
required
boolean
dhcpv6
boolean
lanReference
required
string
name
required
string
vnetId
string
ram
required
integer
array

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

object

ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.

name
required
string
policy
object

Policies for referencing.

resolve
string
object

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.

configRef
object

SecretStoreConfigRef specifies which secret store config should be used for this ConnectionSecret.

name
required
string
policy
object

Policies for referencing.

resolve
string
metadata
object

Metadata is the metadata for connection secret.

labels
object
type
string
name
required
string
object

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.

name
required
string
namespace
required
string
status
object

A ServerSetStatus represents the observed state of a ServerSet.

object

ServerSetObservation are the observable fields of a ServerSet.

array

(No description available)

array

Conditions of the resource.

lastTransitionTime
required
string
message
string
reason
required
string
status
required
string
type
required
string
hostname
required
string
name
required
string
array

(No description available)

object

NicObservation are the observable fields of a Nic.

ips
array

(No description available)

mac
string
name
string
nicId
string
pciSlot
integer
state
string
array

Conditions of the resource.

lastTransitionTime
required
string
message
string
reason
required
string
status
required
string
type
required
string
replicaIndex
required
integer
role
required
string
status
required
string
replicas
integer
array

Conditions of the resource.

lastTransitionTime
required
string
message
string
reason
required
string
status
required
string
type
required
string