ionos-cloud/provider-ionoscloud@v1.1.5
StatefulServerSet
compute.ionoscloud.crossplane.io
StatefulServerSet
ionos-cloud/provider-ionoscloud@v1.1.5compute.ionoscloud.crossplane.io

A StatefulServerSet is a an API type that represents a set of servers with data Volumes attached in the Ionos Cloud. The number of resources created is defined by the replicas field. This includes the servers, boot volume, data volumes NICs and LANs configured in the template. It will also create a volumeselector which attaches data Volumes to the servers. Unlike a K8s StatefulSet, a StatefulServerSet does not keep the data Volumes in sync. The information on the active replica is `NOT` propagated to the passives. Each sub-resource created(server, bootvolume, datavolume, nic) will have it's own CR that can be observed using kubectl. The SSSet reads the active(master) identity from a configMap that needs to be named `config-lease`. If the configMap is not found, the master will be the first server created.

Type

CRD

Group

compute.ionoscloud.crossplane.io

Version

v1alpha1

apiVersion: compute.ionoscloud.crossplane.io/v1alpha1

kind: StatefulServerSet

API Documentation
apiVersion
string
kind
string
metadata
object
spec
object
object

A StatefulServerSetSpec defines the desired state of a StatefulServerSet.

forProvider
requiredobject
requiredobject

StatefulServerSetParameters are the configurable fields of a StatefulServerSet.

bootVolumeTemplate
requiredobject
requiredobject

BootVolumeTemplate are the configurable fields of a BootVolumeTemplate.

metadata
object
object

ServerSetBootVolumeMetadata are the configurable fields of a ServerSetBootVolumeMetadata.

labels
object
name
requiredstring
spec
requiredobject
requiredobject

ServerSetBootVolumeSpec are the configurable fields of a ServerSetBootVolumeSpec.

image
requiredstring
selector
object
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
requiredstring
operator
requiredstring
values
array
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
requirednumber
sshKeys
array
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
requiredstring
options
requiredobject
type
requiredstring
unique
requiredboolean
type
requiredstring
updateStrategy
requiredobject
requiredobject

UpdateStrategy is the update strategy for the boot volume.

type
requiredstring
userData
string
datacenterConfig
requiredobject
requiredobject

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
requiredstring
policy
object
object

Policies for referencing.

resolve
string
object

DatacenterIDSelector selects reference to a Datacenter to retrieve its DatacenterID.

policy
object
object

Policies for selection.

resolve
string
deploymentStrategy
requiredobject
requiredobject

DeploymentStrategy describes what strategy should be used to deploy the servers.

type
requiredstring
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 stateful 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
lans
requiredarray
requiredarray

No description provided.

metadata
requiredobject
requiredobject

StatefulServerSetLanMetadata are the configurable fields of a StatefulServerSetLanMetadata.

labels
object
name
requiredstring
spec
requiredobject
requiredobject

StatefulServerSetLanSpec are the configurable fields of a StatefulServerSetLanSpec.

ipv6cidr
string
public
boolean
replicas
requiredinteger
template
requiredobject
requiredobject

ServerSetTemplate are the configurable fields of a ServerSetTemplate.

metadata
requiredobject
requiredobject

ServerSetMetadata are the configurable fields of a ServerSetMetadata.

labels
object
name
requiredstring
spec
requiredobject
requiredobject

ServerSetTemplateSpec are the configurable fields of a ServerSetTemplateSpec.

cores
requiredinteger
cpuFamily
string
nics
requiredarray
requiredarray

NICs are the network interfaces of the server.

dhcp
requiredboolean
dhcpv6
boolean
lanReference
requiredstring
name
requiredstring
vnetId
string
ram
requiredinteger
volumes
requiredarray
requiredarray

No description provided.

metadata
requiredobject
requiredobject

StatefulServerSetVolumeMetadata are the configurable fields of a StatefulServerSetVolumeMetadata.

labels
object
name
requiredstring
spec
requiredobject
requiredobject

StatefulServerSetVolumeSpec are the configurable fields of a StatefulServerSetVolumeSpec.

image
string
size
requirednumber
type
requiredstring
userData
string
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
requiredstring
policy
object
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
object

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

name
requiredstring
policy
object
object

Policies for referencing.

resolve
string
metadata
object
object

Metadata is the metadata for connection secret.

labels
object
type
string
name
requiredstring
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
requiredstring
namespace
requiredstring
status
object
object

A StatefulServerSetStatus represents the observed state of a StatefulServerSet.

object

StatefulServerSetObservation are the observable fields of a StatefulServerSet.

array

Conditions of the resource.

lastTransitionTime
requiredstring
message
string
reason
requiredstring
status
requiredstring
type
requiredstring
array

No description provided.

object

VolumeObservation are the observable fields of a Volume.

name
string
pciSlot
integer
size
number
state
string
volumeId
string
array

Conditions of the resource.

lastTransitionTime
requiredstring
message
string
reason
requiredstring
status
requiredstring
type
requiredstring
replicaIndex
requiredinteger
array

No description provided.

object

LanObservation are the observable fields of a Lan.

array

IPFailovers will be set using IPFailover CR

lanId
string
name
string
state
string
array

Conditions of the resource.

lastTransitionTime
requiredstring
message
string
reason
requiredstring
status
requiredstring
type
requiredstring
array

No description provided.

array

Conditions of the resource.

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

No description provided.

object

NicObservation are the observable fields of a Nic.

ips
array
array

No description provided.

mac
string
name
string
nicId
string
pciSlot
integer
state
string
array

Conditions of the resource.

lastTransitionTime
requiredstring
message
string
reason
requiredstring
status
requiredstring
type
requiredstring
replicaIndex
requiredinteger
role
requiredstring
status
requiredstring
replicas
integer
array

Conditions of the resource.

lastTransitionTime
requiredstring
message
string
reason
requiredstring
status
requiredstring
type
requiredstring
Discover the building blocks for your internal cloud platform.
© 2024 Upbound, Inc.
Solutions