API Reference
Packages
apps.emqx.io/v1beta4
Package v1beta4 contains API Schema definitions for the apps v1beta4 API group
Resource Types
BootstrapAPIKey
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
key string | Pattern: ^[a-zA-Z\d_]+$ | ||
secret string | MaxLength: 32 MinLength: 3 |
Condition
Condition saves the state information of the EMQX cluster
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
type ConditionType | Status of cluster condition. | ||
status ConditionStatus | Status of the condition, one of True, False, Unknown. | ||
lastUpdateTime Time | The last time this condition was updated. | ||
lastTransitionTime Time | Last time the condition transitioned from one status to another. | ||
reason string | The reason for the condition's last transition. | ||
message string | A human readable message indicating details about the transition. |
ConditionType
Underlying type: string
ConditionType defines the condition that the RF can have
Appears in:
Field | Description |
---|---|
Running | |
BlueGreenUpdating |
EmqxBlueGreenUpdate
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
initialDelaySeconds integer | Number of seconds before evacuation connection start. | ||
evacuationStrategy EvacuationStrategy |
EmqxBlueGreenUpdateStatus
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
originStatefulSet string | |||
currentStatefulSet string | |||
startedAt Time | |||
evacuationsStatus EmqxEvacuationStatus array |
EmqxBroker
EmqxBroker is the Schema for the emqxbrokers API
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | apps.emqx.io/v1beta4 | ||
kind string | EmqxBroker | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec EmqxBrokerSpec | |||
status EmqxBrokerStatus |
EmqxBrokerSpec
EmqxBrokerSpec defines the desired state of EmqxBroker
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
replicas integer | 3 | ||
clusterDomain string | cluster.local | ||
persistent PersistentVolumeClaimTemplate | Persistent describes the common attributes of storage devices | ||
template EmqxTemplate | |||
serviceTemplate ServiceTemplate | ServiceTemplate defines a logical set of ports and a policy by which to access them |
EmqxBrokerStatus
EmqxBrokerStatus defines the observed state of EmqxBroker
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
conditions Condition array | Represents the latest available observations of a EMQX current state. | ||
emqxNodes EmqxNode array | Nodes of the EMQX cluster | ||
replicas integer | replicas is the number of Pods created by the EMQX Custom Resource controller. | ||
readyReplicas integer | readyReplicas is the number of pods created for this EMQX Custom Resource with a EMQX Ready. | ||
currentStatefulSetVersion string |
EmqxContainer
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
image EmqxImage | Container image. The image is generated by " | ||
command string 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 | ||
args string 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 | ||
workingDir string | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | ||
ports ContainerPort 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. | ||
envFrom EnvFromSource 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. | ||
env EnvVar array | List of environment variables to set in the container. Cannot be updated. | ||
resources ResourceRequirements | Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | ||
volumeMounts VolumeMount array | Pod volumes to mount into the container's filesystem. Cannot be updated. | ||
volumeDevices VolumeDevice array | volumeDevices is the list of block devices to be used by the container. | ||
livenessProbe Probe | 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 | ||
readinessProbe Probe | 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 | ||
startupProbe Probe | 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 | ||
lifecycle Lifecycle | Actions that the management system should take in response to container lifecycle events. Cannot be updated. | ||
terminationMessagePath string | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | ||
terminationMessagePolicy TerminationMessagePolicy | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | ||
securityContext SecurityContext | 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 } | |
stdin boolean | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | ||
stdinOnce boolean | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | ||
tty boolean | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | ||
emqxConfig object (keys:string, values:string) | |||
emqxACL string array | |||
bootstrapAPIKeys BootstrapAPIKey array | EMQX bootstrap user Cannot be updated. |
EmqxEnterprise
EmqxEnterprise is the Schema for the emqxenterprises API
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | apps.emqx.io/v1beta4 | ||
kind string | EmqxEnterprise | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec EmqxEnterpriseSpec | |||
status EmqxEnterpriseStatus |
EmqxEnterpriseSpec
EmqxEnterpriseSpec defines the desired state of EmqxEnterprise
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
replicas integer | 3 | ||
clusterDomain string | cluster.local | ||
license EmqxLicense | |||
persistent PersistentVolumeClaimTemplate | Persistent describes the common attributes of storage devices | ||
blueGreenUpdate EmqxBlueGreenUpdate | |||
template EmqxTemplate | |||
serviceTemplate ServiceTemplate | ServiceTemplate defines a logical set of ports and a policy by which to access them |
EmqxEnterpriseStatus
EmqxEnterpriseStatus defines the observed state of EmqxEnterprise
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
conditions Condition array | Represents the latest available observations of a EMQX current state. | ||
emqxNodes EmqxNode array | Nodes of the EMQX cluster | ||
replicas integer | replicas is the number of Pods created by the EMQX Custom Resource controller. | ||
readyReplicas integer | readyReplicas is the number of pods created for this EMQX Custom Resource with a EMQX Ready. | ||
currentStatefulSetVersion string | |||
blueGreenUpdateStatus EmqxBlueGreenUpdateStatus |
EmqxEvacuationStats
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
initial_sessions integer | |||
initial_connected integer | |||
current_sessions integer | |||
current_connected integer |
EmqxEvacuationStatus
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
node string | |||
stats EmqxEvacuationStats | |||
state string | |||
session_recipients string array | |||
session_goal integer | |||
session_eviction_rate integer | |||
connection_goal integer | |||
connection_eviction_rate integer |
EmqxImage
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
registry string | Container image registry | ||
repository string | Container image repository Defaults to "emqx/emqx" if kind is EmqxBroker, or "emqx/emqx-ee" if kind is EmqxEnterprise | ||
version string | Container image tag version, must semver format or "latest" | Required: {} | |
prefix string | Container image tag prefix, like "v" | ||
suffix string | Container image tag suffix, like "-alpine" | ||
pullPolicy PullPolicy | Container image pull policy. One of Always, Never, IfNotPresent. Defaults to IfNotPresent. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | IfNotPresent | Enum: [Always Never IfNotPresent] |
EmqxLicense
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
data integer array | Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in https://tools.ietf.org/html/rfc4648#section-4 | ||
stringData string | StringData allows specifying non-binary secret data in string form. It is provided as a write-only input field for convenience. All keys and values are merged into the data field on write, overwriting any existing values. | ||
secretName string | SecretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret |
EmqxNode
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
node string | EMQX node name | ||
node_status string | EMQX node status | ||
otp_release string | Erlang/OTP version used by EMQX | ||
version string | EMQX version | ||
connections integer | MQTT connection count |
EmqxPlugin
EmqxPlugin is the Schema for the emqxplugins API
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | apps.emqx.io/v1beta4 | ||
kind string | EmqxPlugin | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec EmqxPluginSpec |
EmqxPluginSpec
EmqxPluginSpec defines the desired state of EmqxPlugin
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
pluginName string | More info: https://www.emqx.io/docs/en/v4.4/advanced/plugins.html#list-of-plugins | Required: {} | |
selector object (keys:string, values:string) | Selector matches the labels of the EMQX | Required: {} | |
config object (keys:string, values:string) | Config defines the configurations of the EMQX plugins |
EmqxTemplate
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec EmqxTemplateSpec |
EmqxTemplateSpec
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
serviceAccountName string | 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 | ||
reloaderImage string | emqx/emqx-operator-reloader:0.0.2 | ||
imagePullSecrets LocalObjectReference array | |||
emqxContainer EmqxContainer | |||
extraContainers Container array | |||
initContainers Container array | |||
ephemeralContainers EphemeralContainer array | |||
volumes Volume array | |||
podSecurityContext PodSecurityContext | { fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] } | ||
nodeSelector object (keys:string, values:string) | |||
nodeName string | |||
affinity Affinity | |||
tolerations Toleration array |
EvacuationStrategy
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
waitTakeover integer | Minimum: 0 | ||
connEvictRate integer | Minimum: 1 | ||
sessEvictRate integer | Minimum: 1 |
Rebalance
Rebalance is the Schema for the rebalances API
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | apps.emqx.io/v1beta4 | ||
kind string | Rebalance | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec RebalanceSpec | |||
status RebalanceStatus |
RebalanceCondition
RebalanceCondition describes current state of a EMQX rebalancing job.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
type RebalanceConditionType | Status of rebalance condition type. one of Processing, Complete, Failed. | ||
status ConditionStatus | Status of the condition, one of True, False, Unknown. | ||
lastUpdateTime Time | The last time this condition was updated. | ||
lastTransitionTime Time | Last time the condition transitioned from one status to another. | ||
reason string | The reason for the condition's last transition. | ||
message string | 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 |
---|---|---|---|
apiVersion string | apps.emqx.io/v1beta4 | ||
kind string | RebalanceList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
items Rebalance array |
RebalancePhase
Underlying type: string
Appears in:
Field | Description |
---|---|
Processing | |
Completed | |
Failed |
RebalanceSpec
RebalanceSpec represents the desired spec of Rebalance
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
instanceName string | InstanceName represents the name of EmqxEnterprise CR | Required: {} | |
rebalanceStrategy RebalanceStrategy | 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 |
---|---|---|---|
state string | State represents the state of emqx cluster rebalancing. | ||
session_eviction_rate integer | SessionEvictionRate represents the node session evacuation rate per second. | ||
recipients string array | Recipients represent the target node for rebalancing. | ||
node string | Node represents the rebalancing scheduling node. | ||
donors string array | Donors represent the source nodes for rebalancing. | ||
coordinator_node string | CoordinatorNode represents the node currently undergoing rebalancing. | ||
connection_eviction_rate integer | ConnectionEvictionRate represents the node session evacuation rate per second. |
RebalanceStatus
RebalanceStatus represents the current state of Rebalance
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
conditions RebalanceCondition 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. | ||
phase RebalancePhase | Phase represents the phase of Rebalance. | ||
rebalanceStates RebalanceState array | |||
startedTime Time | StartedTime Represents the time when rebalance job start. | ||
completedTime Time | CompletedTime Represents the time when the rebalance job was completed. |
RebalanceStrategy
RebalanceStrategy represents the strategy of EMQX rebalancing
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
connEvictRate integer | 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: {} | |
sessEvictRate integer | 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 | |
waitTakeover integer | 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 | |
waitHealthCheck integer | 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 | |
absConnThreshold integer | 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 | |
relConnThreshold string | 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 | |
absSessThreshold integer | 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 | |
relSessThreshold string | 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 |
ServiceTemplate
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec ServiceSpec |