API Reference 
Packages 
apps.emqx.io/v2beta1 
Package v2beta1 contains API Schema definitions for the apps v2beta1 API group
Resource Types 
BootstrapAPIKey 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| keystring | Pattern: ^[a-zA-Z\d-_]+$ | ||
| secretstring | MaxLength: 128 MinLength: 3 | ||
| secretRefSecretRef | 
Config 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| modestring | Merge | Enum: [Merge Replace] | |
| datastring | EMQX config, HOCON format, like etc/emqx.conf file | 
EMQX 
EMQX is the Schema for the emqxes API
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| apiVersionstring | apps.emqx.io/v2beta1 | ||
| kindstring | EMQX | ||
| metadataObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
| specEMQXSpec | Spec defines the desired identities of EMQX nodes in this set. | ||
| statusEMQXStatus | Status is the current status of EMQX nodes. This data may be out of date by some window of time. | 
EMQXCoreTemplate 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| metadataObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
| specEMQXCoreTemplateSpec | Specification of the desired behavior of the EMQX core node. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | 
EMQXCoreTemplateSpec 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| nodeSelectorobject (keys:string, values:string) | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/config/assign-pod-node/ | ||
| nodeNamestring | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | ||
| affinityAffinity | Affinity for pod assignment ref: https://kubernetes.io/docs/concepts/config/assign-pod-node/#affinity-and-anti-affinity | ||
| toleRationsToleration array | If specified, the pod's tolerations. The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator . TODO: should use tolerationsinstead, this field just for compatible with old version, will delete in future. | ||
| tolerationsToleration array | If specified, the pod's tolerations. The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator . | ||
| topologySpreadConstraintsTopologySpreadConstraint array | // TopologySpreadConstraint specifies how to spread matching pods among the given topology. | ||
| replicasinteger | Replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. Defaults to 2. | 2 | |
| minAvailableIntOrString | An eviction is allowed if at least "minAvailable" pods selected by "selector" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying "100%". | XIntOrString: {} | |
| maxUnavailableIntOrString | An eviction is allowed if at most "maxUnavailable" pods selected by "selector" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with "minAvailable". | XIntOrString: {} | |
| commandstring array | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | ||
| argsstring array | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | ||
| portsContainerPort array | List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated. | ||
| envEnvVar array | List of environment variables to set in the container. Cannot be updated. | ||
| envFromEnvFromSource array | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | ||
| resourcesResourceRequirements | Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/config/manage-resources-containers/ | ||
| podSecurityContextPodSecurityContext | SecurityContext holds pod-level security attributes and common container settings. | { fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] } | |
| containerSecurityContextSecurityContext | SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | { runAsGroup:1000 runAsNonRoot:true runAsUser:1000 } | |
| initContainersContainer array | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | ||
| extraContainersContainer array | ExtraContainers represents extra containers to be added to the pod. See https://github.com/emqx/emqx-operator/issues/252 | ||
| extraVolumesVolume array | See https://github.com/emqx/emqx-operator/pull/72 | ||
| extraVolumeMountsVolumeMount array | See https://github.com/emqx/emqx-operator/pull/72 | ||
| livenessProbeProbe | Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | { failureThreshold:3 httpGet:map[path:/status port:dashboard] initialDelaySeconds:60 periodSeconds:30 } | |
| readinessProbeProbe | Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | { failureThreshold:12 httpGet:map[path:/status port:dashboard] initialDelaySeconds:10 periodSeconds:5 } | |
| startupProbeProbe | StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | ||
| lifecycleLifecycle | Actions that the management system should take in response to container lifecycle events. Cannot be updated. | ||
| volumeClaimTemplatesPersistentVolumeClaimSpec | This field is named VolumeClaimTemplates but actually it is PersistentVolumeClaimSpec. I'm sorry for the bad naming. PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes More than EMQXReplicantTemplateSpec | 
EMQXList 
EMQXList contains a list of EMQX
| Field | Description | Default | Validation | 
|---|---|---|---|
| apiVersionstring | apps.emqx.io/v2beta1 | ||
| kindstring | EMQXList | ||
| metadataListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
| itemsEMQX array | 
EMQXNode 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| controllerUIDUID | |||
| podUIDUID | |||
| nodestring | EMQX node name, example: emqx@127.0.0.1 | ||
| node_statusstring | EMQX node status, example: Running | ||
| otp_releasestring | Erlang/OTP version used by EMQX, example: 24.2/12.2 | ||
| versionstring | EMQX version | ||
| rolestring | EMQX cluster node role, enum: "core" "replicant" | ||
| editionstring | EMQX cluster node edition, enum: "Opensource" "Enterprise" | ||
| connectionsinteger | In EMQX's API of /api/v5/nodes, theconnectionsfield means the number of MQTT session count, | ||
| live_connectionsinteger | In EMQX's API of /api/v5/nodes, thelive_connectionsfield means the number of connected MQTT clients.THe live_connectionsjust work in EMQX 5.1 or later. | 
EMQXNodesStatus 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| replicasinteger | |||
| readyReplicasinteger | |||
| currentRevisionstring | |||
| currentReplicasinteger | |||
| updateRevisionstring | |||
| updateReplicasinteger | |||
| collisionCountinteger | 
EMQXReplicantTemplate 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| metadataObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
| specEMQXReplicantTemplateSpec | Specification of the desired behavior of the EMQX replicant node. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status Controller tools does not support more complex validations (oneOf/anyOf/allOf/etc), so use validation rule instead. https://github.com/kubernetes-sigs/controller-tools/issues/461#issuecomment-1982741599 | 
EMQXReplicantTemplateSpec 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| nodeSelectorobject (keys:string, values:string) | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/config/assign-pod-node/ | ||
| nodeNamestring | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | ||
| affinityAffinity | Affinity for pod assignment ref: https://kubernetes.io/docs/concepts/config/assign-pod-node/#affinity-and-anti-affinity | ||
| toleRationsToleration array | If specified, the pod's tolerations. The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator . TODO: should use tolerationsinstead, this field just for compatible with old version, will delete in future. | ||
| tolerationsToleration array | If specified, the pod's tolerations. The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator . | ||
| topologySpreadConstraintsTopologySpreadConstraint array | // TopologySpreadConstraint specifies how to spread matching pods among the given topology. | ||
| replicasinteger | Replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. Defaults to 2. | 2 | |
| minAvailableIntOrString | An eviction is allowed if at least "minAvailable" pods selected by "selector" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying "100%". | XIntOrString: {} | |
| maxUnavailableIntOrString | An eviction is allowed if at most "maxUnavailable" pods selected by "selector" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with "minAvailable". | XIntOrString: {} | |
| commandstring array | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | ||
| argsstring array | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | ||
| portsContainerPort array | List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated. | ||
| envEnvVar array | List of environment variables to set in the container. Cannot be updated. | ||
| envFromEnvFromSource array | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | ||
| resourcesResourceRequirements | Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/config/manage-resources-containers/ | ||
| podSecurityContextPodSecurityContext | SecurityContext holds pod-level security attributes and common container settings. | { fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] } | |
| containerSecurityContextSecurityContext | SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | { runAsGroup:1000 runAsNonRoot:true runAsUser:1000 } | |
| initContainersContainer array | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | ||
| extraContainersContainer array | ExtraContainers represents extra containers to be added to the pod. See https://github.com/emqx/emqx-operator/issues/252 | ||
| extraVolumesVolume array | See https://github.com/emqx/emqx-operator/pull/72 | ||
| extraVolumeMountsVolumeMount array | See https://github.com/emqx/emqx-operator/pull/72 | ||
| livenessProbeProbe | Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | { failureThreshold:3 httpGet:map[path:/status port:dashboard] initialDelaySeconds:60 periodSeconds:30 } | |
| readinessProbeProbe | Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | { failureThreshold:12 httpGet:map[path:/status port:dashboard] initialDelaySeconds:10 periodSeconds:5 } | |
| startupProbeProbe | StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | ||
| lifecycleLifecycle | Actions that the management system should take in response to container lifecycle events. Cannot be updated. | 
EMQXSpec 
EMQXSpec defines the desired state of EMQX
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| imagestring | EMQX image name. More info: https://kubernetes.io/docs/concepts/containers/images | ||
| imagePullPolicyPullPolicy | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | ||
| imagePullSecretsLocalObjectReference array | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | ||
| serviceAccountNamestring | Service Account Name This associates the ReplicaSet or StatefulSet with the specified Service Account for authentication purposes. More info: https://kubernetes.io/docs/concepts/security/service-accounts | ||
| bootstrapAPIKeysBootstrapAPIKey array | EMQX bootstrap user Cannot be updated. | ||
| configConfig | EMQX config | ||
| clusterDomainstring | cluster.local | ||
| revisionHistoryLimitinteger | The number of old ReplicaSets, old StatefulSet and old PersistentVolumeClaim to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 3. | 3 | |
| updateStrategyUpdateStrategy | UpdateStrategy is the object that describes the EMQX blue-green update strategy | { evacuationStrategy:map[connEvictRate:1000 sessEvictRate:1000 waitTakeover:10] initialDelaySeconds:10 type:Recreate } | |
| coreTemplateEMQXCoreTemplate | CoreTemplate is the object that describes the EMQX core node that will be created | { spec:map[replicas:1] } | |
| replicantTemplateEMQXReplicantTemplate | ReplicantTemplate is the object that describes the EMQX replicant node that will be created | ||
| dashboardServiceTemplateServiceTemplate | DashboardServiceTemplate is the object that describes the EMQX dashboard service that will be created This service always selector the EMQX core node | ||
| listenersServiceTemplateServiceTemplate | ListenersServiceTemplate is the object that describes the EMQX listener service that will be created If the EMQX replicant node exist, this service will selector the EMQX replicant node Else this service will selector EMQX core node | 
EMQXStatus 
EMQXStatus defines the observed state of EMQX
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| conditionsCondition array | Represents the latest available observations of a EMQX Custom Resource current state. | ||
| coreNodesEMQXNode array | |||
| coreNodesStatusEMQXNodesStatus | |||
| replicantNodesEMQXNode array | |||
| replicantNodesStatusEMQXNodesStatus | |||
| nodeEvacuationsStatusNodeEvacuationStatus array | 
EvacuationStrategy 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| waitTakeoverinteger | Minimum: 0 | ||
| connEvictRateinteger | Just work in EMQX Enterprise. | 1000 | Minimum: 1 | 
| sessEvictRateinteger | Just work in EMQX Enterprise. | 1000 | Minimum: 1 | 
KeyRef 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| secretNamestring | |||
| secretKeystring | Pattern: ^[a-zA-Z\d-_]+$ | 
NodeEvacuationStats 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| initial_sessionsinteger | |||
| initial_connectedinteger | |||
| current_sessionsinteger | |||
| current_connectedinteger | 
NodeEvacuationStatus 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| nodestring | |||
| statsNodeEvacuationStats | |||
| statestring | |||
| session_recipientsstring array | |||
| session_goalinteger | |||
| session_eviction_rateinteger | |||
| connection_goalinteger | |||
| connection_eviction_rateinteger | 
Rebalance 
Rebalance is the Schema for the rebalances API
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| apiVersionstring | apps.emqx.io/v2beta1 | ||
| kindstring | Rebalance | ||
| metadataObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
| specRebalanceSpec | |||
| statusRebalanceStatus | 
RebalanceCondition 
RebalanceCondition describes current state of a EMQX rebalancing job.
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| typeRebalanceConditionType | Status of rebalance condition type. one of Processing, Complete, Failed. | ||
| statusConditionStatus | Status of the condition, one of True, False, Unknown. | ||
| lastUpdateTimeTime | The last time this condition was updated. | ||
| lastTransitionTimeTime | Last time the condition transitioned from one status to another. | ||
| reasonstring | The reason for the condition's last transition. | ||
| messagestring | A human readable message indicating details about the transition. | 
RebalanceConditionType 
Underlying type: string
Appears in:
| Field | Description | 
|---|---|
| Processing | |
| Completed | |
| Failed | 
RebalanceList 
RebalanceList contains a list of Rebalance
| Field | Description | Default | Validation | 
|---|---|---|---|
| apiVersionstring | apps.emqx.io/v2beta1 | ||
| kindstring | RebalanceList | ||
| metadataListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
| itemsRebalance array | 
RebalancePhase 
Underlying type: string
Appears in:
| Field | Description | 
|---|---|
| Processing | |
| Completed | |
| Failed | 
RebalanceSpec 
RebalanceSpec defines the desired state of Rebalance
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| instanceKindstring | InstanceKind is used to distinguish between EMQX and EMQXEnterprise. When it is set to "EMQX", it means that the EMQX CR is v2beta1, and when it is set to "EmqxEnterprise", it means that the EmqxEnterprise CR is v1beta4. | EMQX | |
| instanceNamestring | InstanceName represents the name of EMQX CR, just work for EMQX Enterprise | Required: {} | |
| rebalanceStrategyRebalanceStrategy | RebalanceStrategy represents the strategy of EMQX rebalancing More info: https://docs.emqx.com/en/enterprise/v4.4/advanced/rebalancing.html#rebalancing | Required: {} | 
RebalanceState 
Rebalance defines the observed Rebalancing state of EMQX
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| statestring | State represents the state of emqx cluster rebalancing. | ||
| session_eviction_rateinteger | SessionEvictionRate represents the node session evacuation rate per second. | ||
| recipientsstring array | Recipients represent the target node for rebalancing. | ||
| nodestring | Node represents the rebalancing scheduling node. | ||
| donorsstring array | Donors represent the source nodes for rebalancing. | ||
| coordinator_nodestring | CoordinatorNode represents the node currently undergoing rebalancing. | ||
| connection_eviction_rateinteger | ConnectionEvictionRate represents the node session evacuation rate per second. | 
RebalanceStatus 
RebalanceStatus represents the current state of Rebalance
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| conditionsRebalanceCondition array | The latest available observations of an object's current state. When Rebalance fails, the condition will have type "Failed" and status false. When Rebalance is in processing, the condition will have a type "Processing" and status true. When Rebalance is completed, the condition will have a type "Complete" and status true. | ||
| phaseRebalancePhase | Phase represents the phase of Rebalance. | ||
| rebalanceStatesRebalanceState array | |||
| startedTimeTime | StartedTime Represents the time when rebalance job start. | ||
| completedTimeTime | CompletedTime Represents the time when the rebalance job was completed. | 
RebalanceStrategy 
RebalanceStrategy represents the strategy of EMQX rebalancing
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| connEvictRateinteger | ConnEvictRate represents the source node client disconnect rate per second. same to conn-evict-rate in EMQX Rebalancing The value must be greater than 0 | Minimum: 1 Required: {} | |
| sessEvictRateinteger | SessEvictRate represents the source node session evacuation rate per second. same to sess-evict-rate in EMQX Rebalancing The value must be greater than 0 Defaults to 500. | 500 | |
| waitTakeoverinteger | WaitTakeover represents the time in seconds to wait for a client to reconnect to take over the session after all connections are disconnected. same to wait-takeover in EMQX Rebalancing The value must be greater than 0 Defaults to 60 seconds. | 60 | |
| waitHealthCheckinteger | WaitHealthCheck represents the time (in seconds) to wait for the LB to remove the source node from the list of active backend nodes. After the specified waiting time is exceeded,the rebalancing task will start. same to wait-health-check in EMQX Rebalancing The value must be greater than 0 Defaults to 60 seconds. | 60 | |
| absConnThresholdinteger | AbsConnThreshold represents the absolute threshold for checking connection balance. same to abs-conn-threshold in EMQX Rebalancing The value must be greater than 0 Defaults to 1000. | 1000 | |
| relConnThresholdstring | RelConnThreshold represents the relative threshold for checkin connection balance. same to rel-conn-threshold in EMQX Rebalancing the usage of float highly discouraged, as support for them varies across languages. So we define the RelConnThreshold field as string type and you not float type The value must be greater than "1.0" Defaults to "1.1". | 1.1 | |
| absSessThresholdinteger | AbsSessThreshold represents the absolute threshold for checking session connection balance. same to abs-sess-threshold in EMQX Rebalancing The value must be greater than 0 Default to 1000. | 1000 | |
| relSessThresholdstring | RelSessThreshold represents the relative threshold for checking session connection balance. same to rel-sess-threshold in EMQX Rebalancing the usage of float highly discouraged, as support for them varies across languages. So we define the RelSessThreshold field as string type and you not float type The value must be greater than "1.0" Defaults to "1.1". | 1.1 | 
SecretRef 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| keyKeyRef | |||
| secretKeyRef | 
ServiceTemplate 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| enabledboolean | EMQX Operator will create a service for EMQX nodes. This is a pointer to distinguish between falseand not specified. | true | |
| metadataObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
| specServiceSpec | Spec defines the behavior of a service. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | 
UpdateStrategy 
Appears in:
| Field | Description | Default | Validation | 
|---|---|---|---|
| typestring | Recreate | Enum: [Recreate] | |
| initialDelaySecondsinteger | Number of seconds before evacuation connection start. | ||
| evacuationStrategyEvacuationStrategy | Number of seconds before evacuation connection timeout. |