Hazelcast Platform Operator API Docs

A reference guide to the Hazelcast Platform Operator CRD types.

Hazelcast Platform Operator API Docs

This is a reference for the Hazelcast Platform Operator API types. These are all the types and fields that are used in the Hazelcast Platform Operator CRDs.

This document was generated from comments in the Go code in the api/ directory.

ExposeExternallyConfiguration

ExposeExternallyConfiguration defines how to expose Hazelcast cluster to external clients

Field Description Type Required Default

type

Specifies how members are exposed. Valid values are: - "Smart" (default): each member pod is exposed with a separate external address - "Unisocket": all member pods are exposed with one external address

ExposeExternallyType

false

"Smart"

discoveryServiceType

Type of the service used to discover Hazelcast cluster.

corev1.ServiceType

false

"LoadBalancer"

memberAccess

How each member is accessed from the external client. Only available for "Smart" client and valid values are: - "NodePortExternalIP" (default): each member is accessed by the NodePort service and the node external IP/hostname - "NodePortNodeName": each member is accessed by the NodePort service and the node name - "LoadBalancer": each member is accessed by the LoadBalancer service external address

MemberAccess

false

-

Hazelcast

Hazelcast is the Schema for the hazelcasts API

Field Description Type Required Default

metadata

 

metav1.ObjectMeta

false

-

spec

 

HazelcastSpec

false

{"repository" : "docker.io/hazelcast/hazelcast"}

status

 

HazelcastStatus

false

-

HazelcastClusterStatus

HazelcastClusterStatus defines the status of the Hazelcast cluster

Field Description Type Required Default

readyMembers

ReadyMembers represents the number of members that are connected to cluster from the desired number of members in the format <ready>/<desired>

string

true

-

HazelcastList

HazelcastList contains a list of Hazelcast

Field Description Type Required Default

metadata

 

metav1.ListMeta

false

-

items

 

[]Hazelcast

true

-

HazelcastMemberStatus

HazelcastMemberStatus defines the observed state of the individual Hazelcast member.

Field Description Type Required Default

podName

PodName is the name of the Hazelcast member pod.

string

false

-

uid

Uid is the unique member identifier within the cluster.

string

false

-

ip

Ip is the IP address of the member within the cluster.

string

false

-

version

Version represents the Hazelcast version of the member.

string

false

-

connected

Ready is the flag that is set to true when the member is successfully started, connected to cluster and ready to accept connections.

bool

true

-

message

Message contains the optional message with the details of the cluster state.

string

false

-

reason

Reason contains the optional reason of member crash or restart.

string

false

-

restartCount

RestartCount is the number of times the member has been restarted.

int32

true

-

HazelcastPersistenceConfiguration

HazelcastPersistenceConfiguration contains the configuration for Hazelcast Persistence and K8s storage.

Field Description Type Required Default

baseDir

Persistence base directory.

string

true

-

clusterDataRecoveryPolicy

Configuration of the cluster recovery strategy.

DataRecoveryPolicyType

false

"FullRecoveryOnly"

autoForceStart

AutoForceStart enables the detection of constantly failing cluster and trigger the Force Start action.

bool

false

false

dataRecoveryTimeout

DataRecoveryTimeout is timeout for each step of data recovery in seconds. Maximum timeout is equal to DataRecoveryTimeout*2 (for each step: validation and data-load).

int32

false

-

pvc

Configuration of PersistenceVolumeClaim.

PersistencePvcConfiguration

false

-

hostPath

Host Path directory.

string

false

-

HazelcastSpec

HazelcastSpec defines the desired state of Hazelcast

Field Description Type Required Default

clusterSize

Number of Hazelcast members in the cluster.

*int32

false

3

repository

Repository to pull the Hazelcast Platform image from.

string

false

"docker.io/hazelcast/hazelcast"

version

Version of Hazelcast Platform.

string

false

"5.1"

imagePullPolicy

Pull policy for the Hazelcast Platform image

corev1.PullPolicy

false

"IfNotPresent"

imagePullSecrets

Image pull secrets for the Hazelcast Platform image

[]corev1.LocalObjectReference

false

-

licenseKeySecret

Name of the secret with Hazelcast Enterprise License Key.

string

false

-

exposeExternally

Configuration to expose Hazelcast cluster to external clients.

*ExposeExternallyConfiguration

false

{}

clusterName

Name of the Hazelcast cluster.

string

false

"dev"

scheduling

Scheduling details

*SchedulingConfiguration

false

{}

persistence

Persistence configuration

*HazelcastPersistenceConfiguration

false

{}

HazelcastStatus

HazelcastStatus defines the observed state of Hazelcast

Field Description Type Required Default

phase

Phase of the Hazelcast cluster

Phase

false

-

hazelcastClusterStatus

Status of the Hazelcast cluster

HazelcastClusterStatus

false

-

message

Message about the Hazelcast cluster state

string

false

-

externalAddresses

External addresses of the Hazelcast cluster members

string

false

-

members

Status of Hazelcast members

[]HazelcastMemberStatus

false

-

PersistencePvcConfiguration

Field Description Type Required Default

accessModes

AccessModes contains the actual access modes of the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

[]corev1.PersistentVolumeAccessMode

false

-

requestStorage

A description of the PVC request capacity.

*resource.Quantity

false

-

storageClassName

Name of StorageClass which this persistent volume belongs to.

*string

false

-

SchedulingConfiguration

SchedulingConfiguration defines the pods scheduling details

Field Description Type Required Default

affinity

Affinity

*corev1.Affinity

false

-

tolerations

Tolerations

[]corev1.Toleration

false

-

nodeSelector

NodeSelector

map[string]string

false

-

topologySpreadConstraints

TopologySpreadConstraints

[]corev1.TopologySpreadConstraint

false

-

ExternalConnectivityConfiguration

ExternalConnectivityConfiguration defines how to expose Management Center pod.

Field Description Type Required Default

type

How Management Center is exposed. Valid values are: - "ClusterIP" - "NodePort" - "LoadBalancer" (default)

ExternalConnectivityType

false

"LoadBalancer"

HazelcastClusterConfig

Field Description Type Required Default

name

Name of the Hazelcast cluster that Management Center will connect to, default is dev.

string

false

"dev"

address

IP address or DNS name of the Hazelcast cluster. If the cluster is exposed with a service name in a different namespace, use the following syntax "<service-name>.<service-namespace>".

string

true

-

ManagementCenter

ManagementCenter is the Schema for the managementcenters API

Field Description Type Required Default

metadata

 

metav1.ObjectMeta

false

-

spec

 

ManagementCenterSpec

false

{"repository" : "docker.io/hazelcast/management-center"}

status

 

ManagementCenterStatus

false

-

ManagementCenterList

ManagementCenterList contains a list of ManagementCenter

Field Description Type Required Default

metadata

 

metav1.ListMeta

false

-

items

 

[]ManagementCenter

true

-

ManagementCenterSpec

ManagementCenterSpec defines the desired state of ManagementCenter.

Field Description Type Required Default

repository

Repository to pull the Management Center image from.

string

false

"docker.io/hazelcast/management-center"

version

Version of Management Center.

string

false

"5.1.1"

imagePullPolicy

Pull policy for the Management Center image

corev1.PullPolicy

false

"IfNotPresent"

imagePullSecrets

Image pull secrets for the Management Center image

[]corev1.LocalObjectReference

false

-

licenseKeySecret

Name of the secret with Hazelcast Enterprise License Key.

string

false

-

hazelcastClusters

Connection configuration for the Hazelcast clusters that Management Center will monitor.

[]HazelcastClusterConfig

false

-

externalConnectivity

Configuration to expose Management Center to outside.

*ExternalConnectivityConfiguration

false

{type: "LoadBalancer"}

persistence

Configuration for Management Center persistence.

*PersistenceConfiguration

false

{enabled: true, size: "10Gi"}

scheduling

Scheduling details

*SchedulingConfiguration

false

-

ManagementCenterStatus

ManagementCenterStatus defines the observed state of ManagementCenter.

Field Description Type Required Default

phase

Phase of the Management Center

Phase

false

-

message

Message about the Management Center state

string

false

-

externalAddresses

External addresses of the Management Center instance

string

false

-

PersistenceConfiguration

Field Description Type Required Default

enabled

When true, MC will use a PersistentVolumeClaim to store data.

bool

false

true

existingVolumeClaimName

Name of the PersistentVolumeClaim MC will use for persistence. If not empty, MC will use the existing claim instead of creating a new one.

string

false

-

storageClass

StorageClass from which PersistentVolumeClaim will be created.

*string

false

-

size

Size of the created PersistentVolumeClaim.

*resource.Quantity

false

"10Gi"

HotBackup

HotBackup is the Schema for the hot backup API

Field Description Type Required Default

metadata

 

metav1.ObjectMeta

false

-

status

 

HotBackupStatus

false

-

spec

 

HotBackupSpec

true

-

HotBackupList

HotBackupList contains a list of HotBackup

Field Description Type Required Default

metadata

 

metav1.ListMeta

false

-

items

 

[]HotBackup

true

-

HotBackupSpec

HotBackupSpec defines the Spec of HotBackup

Field Description Type Required Default

hazelcastResourceName

HazelcastResourceName defines the name of the Hazelcast resource

string

true

-

schedule

Schedule contains a crontab-like expression that defines the schedule in which HotBackup will be started. If the Schedule is empty the HotBackup will start only once when applied.

string

false

-

DataRecoveryPolicyType

DataRecoveryPolicyType represents the options for data recovery policy when the whole cluster restarts.

Value Description

"FullRecoveryOnly"

FullRecovery does not allow partial start of the cluster and corresponds to "cluster-data-recovery-policy.FULL_RECOVERY_ONLY" configuration option.

"PartialRecoveryMostRecent"

MostRecent allow partial start with the members that have most up-to-date partition table and corresponds to "cluster-data-recovery-policy.PARTIAL_RECOVERY_MOST_RECENT" configuration option.

"PartialRecoveryMostComplete"

MostComplete allow partial start with the members that have most complete partition table and corresponds to "cluster-data-recovery-policy.PARTIAL_RECOVERY_MOST_COMPLETE" configuration option.

ExposeExternallyType

ExposeExternallyType describes how Hazelcast members are exposed.

Value Description

"Smart"

ExposeExternallyTypeSmart exposes each Hazelcast member with a separate external address.

"Unisocket"

ExposeExternallyTypeUnisocket exposes all Hazelcast members with one external address.

MemberAccess

MemberAccess describes how each Hazelcast member is accessed from the external client.

Value Description

"NodePortExternalIP"

MemberAccessNodePortExternalIP lets the client access Hazelcast member with the NodePort service and the node external IP/hostname

"NodePortNodeName"

MemberAccessNodePortNodeName lets the client access Hazelcast member with the NodePort service and the node name

"LoadBalancer"

MemberAccessLoadBalancer lets the client access Hazelcast member with the LoadBalancer service

Phase

Phase represents the current state of the cluster

Value Description

"Running"

Running phase is the state when all the members of the cluster are successfully started

"Failed"

Failed phase is the state of error during the cluster startup

"Pending"

Pending phase is the state of starting the cluster when not all the members are started yet

ExternalConnectivityType

ExternalConnectivityType describes how Management Center is exposed.

Value Description

"ClusterIP"

ExternalConnectivityTypeClusterIP exposes Management Center with ClusterIP service.

"NodePort"

ExternalConnectivityTypeNodePort exposes Management Center with NodePort service.

"LoadBalancer"

ExternalConnectivityTypeLoadBalancer exposes Management Center with LoadBalancer service.