Kind
Rabbitmqcluster
Group
rabbitmq.com
Version
v1beta1
apiVersion: rabbitmq.com/v1beta1 kind: Rabbitmqcluster metadata: name: example
View raw schema
apiVersion string
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind string
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata object
spec object
Spec is the desired state of the RabbitmqCluster Custom Resource.
affinity object
Affinity scheduling rules to be applied on created Pods.
nodeAffinity object
Describes node affinity scheduling rules for the pod.
preferredDuringSchedulingIgnoredDuringExecution []object
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
preference object required
A node selector term, associated with the corresponding weight.
matchExpressions []object
A list of node selector requirements by node's labels.
key string required
The label key that the selector applies to.
operator string required
Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values []string
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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
matchFields []object
A list of node selector requirements by node's fields.
key string required
The label key that the selector applies to.
operator string required
Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values []string
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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
weight integer required
Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
requiredDuringSchedulingIgnoredDuringExecution object
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
nodeSelectorTerms []object required
Required. A list of node selector terms. The terms are ORed.
matchExpressions []object
A list of node selector requirements by node's labels.
key string required
The label key that the selector applies to.
operator string required
Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values []string
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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
matchFields []object
A list of node selector requirements by node's fields.
key string required
The label key that the selector applies to.
operator string required
Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values []string
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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
podAffinity object
Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
preferredDuringSchedulingIgnoredDuringExecution []object
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
podAffinityTerm object required
Required. A pod affinity term, associated with the corresponding weight.
labelSelector object
A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key string required
key is the label key that the selector applies to.
operator string required
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values []string
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.
matchLabels object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchLabelKeys []string
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
mismatchLabelKeys []string
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
namespaceSelector object
A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key string required
key is the label key that the selector applies to.
operator string required
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values []string
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.
matchLabels object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
namespaces []string
namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
topologyKey string required
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
weight integer required
weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
requiredDuringSchedulingIgnoredDuringExecution []object
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
labelSelector object
A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key string required
key is the label key that the selector applies to.
operator string required
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values []string
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.
matchLabels object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchLabelKeys []string
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
mismatchLabelKeys []string
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
namespaceSelector object
A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key string required
key is the label key that the selector applies to.
operator string required
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values []string
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.
matchLabels object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
namespaces []string
namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
topologyKey string required
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
podAntiAffinity object
Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
preferredDuringSchedulingIgnoredDuringExecution []object
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and subtracting "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
podAffinityTerm object required
Required. A pod affinity term, associated with the corresponding weight.
labelSelector object
A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key string required
key is the label key that the selector applies to.
operator string required
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values []string
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.
matchLabels object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchLabelKeys []string
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
mismatchLabelKeys []string
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
namespaceSelector object
A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key string required
key is the label key that the selector applies to.
operator string required
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values []string
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.
matchLabels object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
namespaces []string
namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
topologyKey string required
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
weight integer required
weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
requiredDuringSchedulingIgnoredDuringExecution []object
If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
labelSelector object
A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key string required
key is the label key that the selector applies to.
operator string required
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values []string
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.
matchLabels object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchLabelKeys []string
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
mismatchLabelKeys []string
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
namespaceSelector object
A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key string required
key is the label key that the selector applies to.
operator string required
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values []string
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.
matchLabels object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
namespaces []string
namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
topologyKey string required
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
autoEnableAllFeatureFlags boolean
Set to true to automatically enable all feature flags after each upgrade For more information, see https://www.rabbitmq.com/docs/feature-flags
delayStartSeconds integer
DelayStartSeconds is the time the init container (`setup-container`) will sleep before terminating. This effectively delays the time between starting the Pod and starting the `rabbitmq` container. RabbitMQ relies on up-to-date DNS entries early during peer discovery. The purpose of this artificial delay is to ensure that DNS entries are up-to-date when booting RabbitMQ. For more information, see https://github.com/kubernetes/kubernetes/issues/92559 If your Kubernetes DNS backend is configured with a low DNS cache value or publishes not ready addresses promptly, you can decrase this value or set it to 0.
format: int32
minimum: 0
image string
Image is the name of the RabbitMQ docker image to use for RabbitMQ nodes in the RabbitmqCluster. Must be provided together with ImagePullSecrets in order to use an image in a private registry.
imagePullSecrets []object
List of Secret resource containing access credentials to the registry for the RabbitMQ image. Required if the docker registry is private.
name string
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
override object
service object
metadata object
annotations object
labels object
spec object
allocateLoadBalancerNodePorts boolean
clusterIP string
clusterIPs []string
externalIPs []string
externalName string
externalTrafficPolicy string
healthCheckNodePort integer
format: int32
internalTrafficPolicy string
ipFamilies []string
ipFamilyPolicy string
loadBalancerClass string
loadBalancerIP string
loadBalancerSourceRanges []string
ports []object
appProtocol string
name string
nodePort integer
format: int32
port integer required
format: int32
protocol string
targetPort object
publishNotReadyAddresses boolean
selector object
sessionAffinity string
sessionAffinityConfig object
clientIP object
timeoutSeconds integer
format: int32
trafficDistribution string
type string
statefulSet object
metadata object
annotations object
labels object
spec object
minReadySeconds integer
format: int32
persistentVolumeClaimRetentionPolicy object
whenDeleted string
whenScaled string
podManagementPolicy string
replicas integer
format: int32
selector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
serviceName string
template object
metadata object
annotations object
labels object
name string
namespace string
spec object
activeDeadlineSeconds integer
format: int64
affinity object
nodeAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
preference object required
matchExpressions []object
key string required
operator string required
values []string
matchFields []object
key string required
operator string required
values []string
weight integer required
format: int32
requiredDuringSchedulingIgnoredDuringExecution object
nodeSelectorTerms []object required
matchExpressions []object
key string required
operator string required
values []string
matchFields []object
key string required
operator string required
values []string
podAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object required
labelSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
matchLabelKeys []string
mismatchLabelKeys []string
namespaceSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
namespaces []string
topologyKey string required
weight integer required
format: int32
requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
matchLabelKeys []string
mismatchLabelKeys []string
namespaceSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
namespaces []string
topologyKey string required
podAntiAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object required
labelSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
matchLabelKeys []string
mismatchLabelKeys []string
namespaceSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
namespaces []string
topologyKey string required
weight integer required
format: int32
requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
matchLabelKeys []string
mismatchLabelKeys []string
namespaceSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
namespaces []string
topologyKey string required
automountServiceAccountToken boolean
containers []object required
args []string
command []string
env []object
name string required
value string
valueFrom object
configMapKeyRef object
key string required
name string
optional boolean
fieldRef object
apiVersion string
fieldPath string required
fileKeyRef object
key string required
optional boolean
path string required
volumeName string required
resourceFieldRef object
containerName string
divisor object
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
resource string required
secretKeyRef object
key string required
name string
optional boolean
envFrom []object
configMapRef object
name string
optional boolean
prefix string
secretRef object
name string
optional boolean
image string
imagePullPolicy string
lifecycle object
postStart object
exec object
command []string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
sleep object
seconds integer required
format: int64
tcpSocket object
host string
port object required
preStop object
exec object
command []string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
sleep object
seconds integer required
format: int64
tcpSocket object
host string
port object required
stopSignal string
livenessProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
name string required
ports []object
containerPort integer required
format: int32
hostIP string
hostPort integer
format: int32
name string
protocol string
readinessProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
resizePolicy []object
resourceName string required
restartPolicy string required
resources object
claims []object
name string required
request string
limits object
requests object
restartPolicy string
restartPolicyRules []object
action string required
exitCodes object
operator string required
values []integer
securityContext object
allowPrivilegeEscalation boolean
appArmorProfile object
localhostProfile string
type string required
capabilities object
add []string
drop []string
privileged boolean
procMount string
readOnlyRootFilesystem boolean
runAsGroup integer
format: int64
runAsNonRoot boolean
runAsUser integer
format: int64
seLinuxOptions object
level string
role string
type string
user string
seccompProfile object
localhostProfile string
type string required
windowsOptions object
gmsaCredentialSpec string
gmsaCredentialSpecName string
hostProcess boolean
runAsUserName string
startupProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
stdin boolean
stdinOnce boolean
terminationMessagePath string
terminationMessagePolicy string
tty boolean
volumeDevices []object
devicePath string required
name string required
volumeMounts []object
mountPath string required
mountPropagation string
name string required
readOnly boolean
recursiveReadOnly string
subPath string
subPathExpr string
workingDir string
dnsConfig object
nameservers []string
options []object
name string
value string
searches []string
dnsPolicy string
enableServiceLinks boolean
ephemeralContainers []object
args []string
command []string
env []object
name string required
value string
valueFrom object
configMapKeyRef object
key string required
name string
optional boolean
fieldRef object
apiVersion string
fieldPath string required
fileKeyRef object
key string required
optional boolean
path string required
volumeName string required
resourceFieldRef object
containerName string
divisor object
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
resource string required
secretKeyRef object
key string required
name string
optional boolean
envFrom []object
configMapRef object
name string
optional boolean
prefix string
secretRef object
name string
optional boolean
image string
imagePullPolicy string
lifecycle object
postStart object
exec object
command []string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
sleep object
seconds integer required
format: int64
tcpSocket object
host string
port object required
preStop object
exec object
command []string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
sleep object
seconds integer required
format: int64
tcpSocket object
host string
port object required
stopSignal string
livenessProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
name string required
ports []object
containerPort integer required
format: int32
hostIP string
hostPort integer
format: int32
name string
protocol string
readinessProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
resizePolicy []object
resourceName string required
restartPolicy string required
resources object
claims []object
name string required
request string
limits object
requests object
restartPolicy string
restartPolicyRules []object
action string required
exitCodes object
operator string required
values []integer
securityContext object
allowPrivilegeEscalation boolean
appArmorProfile object
localhostProfile string
type string required
capabilities object
add []string
drop []string
privileged boolean
procMount string
readOnlyRootFilesystem boolean
runAsGroup integer
format: int64
runAsNonRoot boolean
runAsUser integer
format: int64
seLinuxOptions object
level string
role string
type string
user string
seccompProfile object
localhostProfile string
type string required
windowsOptions object
gmsaCredentialSpec string
gmsaCredentialSpecName string
hostProcess boolean
runAsUserName string
startupProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
stdin boolean
stdinOnce boolean
targetContainerName string
terminationMessagePath string
terminationMessagePolicy string
tty boolean
volumeDevices []object
devicePath string required
name string required
volumeMounts []object
mountPath string required
mountPropagation string
name string required
readOnly boolean
recursiveReadOnly string
subPath string
subPathExpr string
workingDir string
hostAliases []object
hostnames []string
ip string required
hostIPC boolean
hostNetwork boolean
hostPID boolean
hostUsers boolean
hostname string
hostnameOverride string
imagePullSecrets []object
name string
initContainers []object
args []string
command []string
env []object
name string required
value string
valueFrom object
configMapKeyRef object
key string required
name string
optional boolean
fieldRef object
apiVersion string
fieldPath string required
fileKeyRef object
key string required
optional boolean
path string required
volumeName string required
resourceFieldRef object
containerName string
divisor object
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
resource string required
secretKeyRef object
key string required
name string
optional boolean
envFrom []object
configMapRef object
name string
optional boolean
prefix string
secretRef object
name string
optional boolean
image string
imagePullPolicy string
lifecycle object
postStart object
exec object
command []string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
sleep object
seconds integer required
format: int64
tcpSocket object
host string
port object required
preStop object
exec object
command []string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
sleep object
seconds integer required
format: int64
tcpSocket object
host string
port object required
stopSignal string
livenessProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
name string required
ports []object
containerPort integer required
format: int32
hostIP string
hostPort integer
format: int32
name string
protocol string
readinessProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
resizePolicy []object
resourceName string required
restartPolicy string required
resources object
claims []object
name string required
request string
limits object
requests object
restartPolicy string
restartPolicyRules []object
action string required
exitCodes object
operator string required
values []integer
securityContext object
allowPrivilegeEscalation boolean
appArmorProfile object
localhostProfile string
type string required
capabilities object
add []string
drop []string
privileged boolean
procMount string
readOnlyRootFilesystem boolean
runAsGroup integer
format: int64
runAsNonRoot boolean
runAsUser integer
format: int64
seLinuxOptions object
level string
role string
type string
user string
seccompProfile object
localhostProfile string
type string required
windowsOptions object
gmsaCredentialSpec string
gmsaCredentialSpecName string
hostProcess boolean
runAsUserName string
startupProbe object
exec object
command []string
failureThreshold integer
format: int32
grpc object
port integer required
format: int32
service string
httpGet object
host string
httpHeaders []object
name string required
value string required
path string
port object required
scheme string
initialDelaySeconds integer
format: int32
periodSeconds integer
format: int32
successThreshold integer
format: int32
tcpSocket object
host string
port object required
terminationGracePeriodSeconds integer
format: int64
timeoutSeconds integer
format: int32
stdin boolean
stdinOnce boolean
terminationMessagePath string
terminationMessagePolicy string
tty boolean
volumeDevices []object
devicePath string required
name string required
volumeMounts []object
mountPath string required
mountPropagation string
name string required
readOnly boolean
recursiveReadOnly string
subPath string
subPathExpr string
workingDir string
nodeName string
nodeSelector object
os object
name string required
overhead object
preemptionPolicy string
priority integer
format: int32
priorityClassName string
readinessGates []object
conditionType string required
resourceClaims []object
name string required
resourceClaimName string
resourceClaimTemplateName string
resources object
claims []object
name string required
request string
limits object
requests object
restartPolicy string
runtimeClassName string
schedulerName string
schedulingGates []object
name string required
securityContext object
appArmorProfile object
localhostProfile string
type string required
fsGroup integer
format: int64
fsGroupChangePolicy string
runAsGroup integer
format: int64
runAsNonRoot boolean
runAsUser integer
format: int64
seLinuxChangePolicy string
seLinuxOptions object
level string
role string
type string
user string
seccompProfile object
localhostProfile string
type string required
supplementalGroups []integer
supplementalGroupsPolicy string
sysctls []object
name string required
value string required
windowsOptions object
gmsaCredentialSpec string
gmsaCredentialSpecName string
hostProcess boolean
runAsUserName string
serviceAccount string
serviceAccountName string
setHostnameAsFQDN boolean
shareProcessNamespace boolean
subdomain string
terminationGracePeriodSeconds integer
format: int64
tolerations []object
effect string
key string
operator string
tolerationSeconds integer
format: int64
value string
topologySpreadConstraints []object
labelSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
matchLabelKeys []string
maxSkew integer required
format: int32
minDomains integer
format: int32
nodeAffinityPolicy string
nodeTaintsPolicy string
topologyKey string required
whenUnsatisfiable string required
volumes []object
awsElasticBlockStore object
fsType string
partition integer
format: int32
readOnly boolean
volumeID string required
azureDisk object
cachingMode string
diskName string required
diskURI string required
fsType string
kind string
readOnly boolean
azureFile object
readOnly boolean
secretName string required
shareName string required
cephfs object
monitors []string required
path string
readOnly boolean
secretFile string
secretRef object
name string
user string
cinder object
fsType string
readOnly boolean
secretRef object
name string
volumeID string required
configMap object
defaultMode integer
format: int32
items []object
key string required
mode integer
format: int32
path string required
name string
optional boolean
csi object
driver string required
fsType string
nodePublishSecretRef object
name string
readOnly boolean
volumeAttributes object
downwardAPI object
defaultMode integer
format: int32
items []object
fieldRef object
apiVersion string
fieldPath string required
mode integer
format: int32
path string required
resourceFieldRef object
containerName string
divisor object
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
resource string required
emptyDir object
medium string
sizeLimit object
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
ephemeral object
volumeClaimTemplate object
metadata object
spec object required
accessModes []string
dataSource object
apiGroup string
kind string required
name string required
dataSourceRef object
apiGroup string
kind string required
name string required
namespace string
resources object
limits object
requests object
selector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
storageClassName string
volumeAttributesClassName string
volumeMode string
volumeName string
fc object
fsType string
lun integer
format: int32
readOnly boolean
targetWWNs []string
wwids []string
flexVolume object
driver string required
fsType string
options object
readOnly boolean
secretRef object
name string
flocker object
datasetName string
datasetUUID string
gcePersistentDisk object
fsType string
partition integer
format: int32
pdName string required
readOnly boolean
gitRepo object
directory string
repository string required
revision string
glusterfs object
endpoints string required
path string required
readOnly boolean
hostPath object
path string required
type string
image object
pullPolicy string
reference string
iscsi object
chapAuthDiscovery boolean
chapAuthSession boolean
fsType string
initiatorName string
iqn string required
iscsiInterface string
lun integer required
format: int32
portals []string
readOnly boolean
secretRef object
name string
targetPortal string required
name string required
nfs object
path string required
readOnly boolean
server string required
persistentVolumeClaim object
claimName string required
readOnly boolean
photonPersistentDisk object
fsType string
pdID string required
portworxVolume object
fsType string
readOnly boolean
volumeID string required
projected object
defaultMode integer
format: int32
sources []object
clusterTrustBundle object
labelSelector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
name string
optional boolean
path string required
signerName string
configMap object
items []object
key string required
mode integer
format: int32
path string required
name string
optional boolean
downwardAPI object
items []object
fieldRef object
apiVersion string
fieldPath string required
mode integer
format: int32
path string required
resourceFieldRef object
containerName string
divisor object
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
resource string required
podCertificate object
certificateChainPath string
credentialBundlePath string
keyPath string
keyType string required
maxExpirationSeconds integer
format: int32
signerName string required
secret object
items []object
key string required
mode integer
format: int32
path string required
name string
optional boolean
serviceAccountToken object
audience string
expirationSeconds integer
format: int64
path string required
quobyte object
group string
readOnly boolean
registry string required
tenant string
user string
volume string required
rbd object
fsType string
image string required
keyring string
monitors []string required
pool string
readOnly boolean
secretRef object
name string
user string
scaleIO object
fsType string
gateway string required
protectionDomain string
readOnly boolean
secretRef object required
name string
sslEnabled boolean
storageMode string
storagePool string
system string required
volumeName string
secret object
defaultMode integer
format: int32
items []object
key string required
mode integer
format: int32
path string required
optional boolean
secretName string
storageos object
fsType string
readOnly boolean
secretRef object
name string
volumeName string
volumeNamespace string
vsphereVolume object
fsType string
storagePolicyID string
storagePolicyName string
volumePath string required
updateStrategy object
rollingUpdate object
maxUnavailable object
partition integer
format: int32
type string
volumeClaimTemplates []object
apiVersion string
kind string
metadata object
annotations object
labels object
name string
namespace string
spec object
accessModes []string
dataSource object
apiGroup string
kind string required
name string required
dataSourceRef object
apiGroup string
kind string required
name string required
namespace string
resources object
limits object
requests object
selector object
matchExpressions []object
key string required
operator string required
values []string
matchLabels object
storageClassName string
volumeAttributesClassName string
volumeMode string
volumeName string
persistence object
The desired persistent storage configuration for each Pod in the cluster.
emptyDir object
EmptyDir configuration to be used when Storage is set to 0Gi.
medium string
Medium represents the storage medium for the EmptyDir volume. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
sizeLimit object
SizeLimit sets the size limit for EmptyDir volumes. The format of this field matches that defined by kubernetes/apimachinery. See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity for more info on the format of this field.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
storage object
The requested size of the persistent volume attached to each Pod in the RabbitmqCluster. The format of this field matches that defined by kubernetes/apimachinery. See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity for more info on the format of this field.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
storageClassName string
The name of the StorageClass to claim a PersistentVolume from.
rabbitmq object
Configuration options for RabbitMQ Pods created in the cluster.
additionalConfig string
Modify to add to the rabbitmq.conf file in addition to default configurations set by the operator. Modifying this property on an existing RabbitmqCluster will trigger a StatefulSet rolling restart and will cause rabbitmq downtime. For more information on this config, see https://www.rabbitmq.com/configure.html#config-file
maxLength: 100000
additionalPlugins []string
List of plugins to enable in addition to essential plugins: rabbitmq_management, rabbitmq_prometheus, and rabbitmq_peer_discovery_k8s.
maxItems: 100
advancedConfig string
Specify any rabbitmq advanced.config configurations to apply to the cluster. For more information on advanced config, see https://www.rabbitmq.com/configure.html#advanced-config-file
maxLength: 100000
envConfig string
Modify to add to the rabbitmq-env.conf file. Modifying this property on an existing RabbitmqCluster will trigger a StatefulSet rolling restart and will cause rabbitmq downtime. For more information on env config, see https://www.rabbitmq.com/man/rabbitmq-env.conf.5.html
maxLength: 100000
erlangInetConfig string
Erlang Inet configuration to apply to the Erlang VM running rabbit. See also: https://www.erlang.org/doc/apps/erts/inet_cfg.html
maxLength: 2000
replicas integer
Replicas is the number of nodes in the RabbitMQ cluster. Each node is deployed as a Replica in a StatefulSet. Only 1, 3, 5 replicas clusters are tested. This value should be an odd number to ensure the resultant cluster can establish exactly one quorum of nodes in the event of a fragmenting network partition.
format: int32
minimum: 0
resources object
The desired compute resource requirements of Pods in the cluster.
claims []object
Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This field depends on the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
name string required
Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
request string
Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.
limits object
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
requests object
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
secretBackend object
Secret backend configuration for the RabbitmqCluster. Enables to fetch default user credentials and certificates from K8s external secret stores.
externalSecret object
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
name string
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
vault object
VaultSpec will add Vault annotations (see https://www.vaultproject.io/docs/platform/k8s/injector/annotations) to RabbitMQ Pods. It requires a Vault Agent Sidecar Injector (https://www.vaultproject.io/docs/platform/k8s/injector) to be installed in the K8s cluster. The injector is a K8s Mutation Webhook Controller that alters RabbitMQ Pod specifications (based on the added Vault annotations) to include Vault Agent containers that render Vault secrets to the volume.
annotations object
Vault annotations that override the Vault annotations set by the cluster-operator. For a list of valid Vault annotations, see https://www.vaultproject.io/docs/platform/k8s/injector/annotations
defaultUserPath string
Path in Vault to access a KV (Key-Value) secret with the fields username and password for the default user. For example "secret/data/rabbitmq/config".
defaultUserUpdaterImage string
Sidecar container that updates the default user's password in RabbitMQ when it changes in Vault. Additionally, it updates /var/lib/rabbitmq/.rabbitmqadmin.conf (used by rabbitmqadmin CLI). Set to empty string to disable the sidecar container.
role string
Role in Vault. If vault.defaultUserPath is set, this role must have capability to read the pre-created default user credential in Vault. If vault.tls is set, this role must have capability to create and update certificates in the Vault PKI engine for the domains "<namespace>" and "<namespace>.svc".
tls object
altNames string
Specifies the requested Subject Alternative Names (SANs), in a comma-delimited list. These will be appended to the SANs added by the cluster-operator. The cluster-operator will add SANs: "<RabbitmqCluster name>-server-<index>.<RabbitmqCluster name>-nodes.<namespace>" for each pod, e.g. "myrabbit-server-0.myrabbit-nodes.default".
commonName string
Specifies the requested certificate Common Name (CN). Defaults to <serviceName>.<namespace>.svc if not provided.
ipSans string
Specifies the requested IP Subject Alternative Names, in a comma-delimited list.
pkiIssuerPath string
Path in Vault PKI engine. For example "pki/issue/hashicorp-com". required
pkiRootPath string
Specifies an optional path to retrieve the root CA from vault. Useful if certificates are issued by an intermediate CA
service object
The desired state of the Kubernetes Service to create for the cluster.
annotations object
Annotations to add to the Service.
ipFamilyPolicy string
IPFamilyPolicy represents the dual-stack-ness requested or required by a Service See also: https://pkg.go.dev/k8s.io/api/core/v1#IPFamilyPolicy
enum: SingleStack, PreferDualStack, RequireDualStack
labels object
type string
Type of Service to create for the cluster. Must be one of: ClusterIP, LoadBalancer, NodePort. For more info see https://pkg.go.dev/k8s.io/api/core/v1#ServiceType
enum: ClusterIP, LoadBalancer, NodePort
skipPostDeploySteps boolean
If unset, or set to false, the cluster will run `rabbitmq-queues rebalance all` whenever the cluster is updated. Set to true to prevent the operator rebalancing queue leaders after a cluster update. Has no effect if the cluster only consists of one node. For more information, see https://www.rabbitmq.com/rabbitmq-queues.8.html#rebalance
terminationGracePeriodSeconds integer
TerminationGracePeriodSeconds is the timeout that each rabbitmqcluster pod will have to terminate gracefully. It defaults to 604800 seconds ( a week long) to ensure that the container preStop lifecycle hook can finish running. For more information, see: https://github.com/rabbitmq/cluster-operator/blob/main/docs/design/20200520-graceful-pod-termination.md
format: int64
minimum: 0
tls object
TLS-related configuration for the RabbitMQ cluster.
caSecretName string
Name of a Secret in the same Namespace as the RabbitmqCluster, containing the Certificate Authority's public certificate for TLS. The Secret must store this as ca.crt. This Secret can be created by running `kubectl create secret generic ca-secret --from-file=ca.crt=path/to/ca.crt` Used for mTLS, and TLS for rabbitmq_web_stomp and rabbitmq_web_mqtt.
disableNonTLSListeners boolean
When set to true, the RabbitmqCluster disables non-TLS listeners for RabbitMQ, management plugin and for any enabled plugins in the following list: stomp, mqtt, web_stomp, web_mqtt. Only TLS-enabled clients will be able to connect.
secretName string
Name of a Secret in the same Namespace as the RabbitmqCluster, containing the server's private key & public certificate for TLS. The Secret must store these as tls.key and tls.crt, respectively. This Secret can be created by running `kubectl create secret tls tls-secret --cert=path/to/tls.crt --key=path/to/tls.key`
tolerations []object
Tolerations is the list of Toleration resources attached to each Pod in the RabbitmqCluster.
effect string
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key string
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
operator string
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
tolerationSeconds integer
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
format: int64
value string
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
status object
Status presents the observed state of RabbitmqCluster
binding object
Binding exposes a secret containing the binding information for this RabbitmqCluster. It implements the service binding Provisioned Service duck type. See: https://github.com/servicebinding/spec#provisioned-service
name string
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
conditions []object required
Set of Conditions describing the current state of the RabbitmqCluster
lastTransitionTime string
The last time this Condition type changed.
format: date-time
message string
Full text reason for current status of the condition.
reason string
One word, camel-case reason for current status of the condition.
status string required
True, False, or Unknown
type string required
Type indicates the scope of RabbitmqCluster status addressed by the condition.
defaultUser object
Identifying information on internal resources
secretReference object
Reference to the Kubernetes Secret containing the credentials of the default user.
keys object required
Key-value pairs in the Secret corresponding to `username`, `password`, `host`, and `port`
name string required
Name of the Secret containing the default user credentials
namespace string required
Namespace of the Secret containing the default user credentials
serviceReference object
Reference to the Kubernetes Service serving the cluster.
name string required
Name of the Service serving the cluster
namespace string required
Namespace of the Service serving the cluster
observedGeneration integer
observedGeneration is the most recent successful generation observed for this RabbitmqCluster. It corresponds to the RabbitmqCluster's generation, which is updated on mutation by the API Server.
format: int64
quorumStatus string
QuorumStatus indicates whether any node in the cluster is quorum critical. Format: "<status> [(<details>)]" Examples: - "ok" - no nodes are quorum critical - "ok (1 unavailable)" - no critical nodes, but 1 node unreachable - "quorum-critical: pod-0" - pod-0 is quorum critical - "quorum-critical: pod-0, pod-2 (1 unavailable)" - multiple critical pods - "unavailable" - all nodes unreachable or StatefulSet not ready
Copied!