-
Notifications
You must be signed in to change notification settings - Fork 276
API_Reference_v2.9.0
Package v1beta1 contains API Schema definitions for the rabbitmq v1beta1 API group
EmbeddedLabelsAnnotations is an embedded subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta. Only labels and annotations are included.
Field | Description |
---|---|
|
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels |
|
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations |
EmbeddedObjectMeta is an embedded subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta. Only fields which are relevant to embedded resources are included.
Field | Description |
---|---|
|
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names |
|
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces |
|
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels |
|
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations |
PersistentVolumeClaim is an embedded version of k8s.io/api/core/v1.PersistentVolumeClaim. It contains TypeMeta and a reduced ObjectMeta. Field status is omitted.
Field | Description |
---|---|
|
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 |
|
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 |
|
Refer to Kubernetes API documentation for fields of |
Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
A Plugin to enable on the RabbitmqCluster.
PodTemplateSpec is an embedded version of k8s.io/api/core/v1.PodTemplateSpec. It contains a reduced ObjectMeta.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
RabbitmqCluster is the Schema for the RabbitmqCluster API. Each instance of this object corresponds to a single RabbitMQ cluster.
Field | Description |
---|---|
|
|
|
|
|
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 |
|
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 |
|
Refer to Kubernetes API documentation for fields of |
|
Spec is the desired state of the RabbitmqCluster Custom Resource. |
|
Status presents the observed state of RabbitmqCluster |
RabbitMQ-related configuration.
Field | Description |
---|---|
|
List of plugins to enable in addition to essential plugins: rabbitmq_management, rabbitmq_prometheus, and rabbitmq_peer_discovery_k8s. |
|
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 |
|
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 |
|
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 |
|
Erlang Inet configuration to apply to the Erlang VM running rabbit. See also: https://www.erlang.org/doc/apps/erts/inet_cfg.html |
Contains references to resources created with the RabbitmqCluster resource.
Field | Description |
---|---|
|
Reference to the Kubernetes Secret containing the credentials of the default user. |
|
Reference to the Kubernetes Service serving the cluster. |
RabbitmqClusterList contains a list of RabbitmqClusters.
Field | Description |
---|---|
|
|
|
|
|
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 |
|
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 |
|
Refer to Kubernetes API documentation for fields of |
|
Array of RabbitmqCluster resources. |
Provides the ability to override the generated manifest of several child resources.
Field | Description |
---|---|
|
Override configuration for the RabbitMQ StatefulSet. |
|
Override configuration for the Service created to serve traffic to the cluster. |
The settings for the persistent storage desired for each Pod in the RabbitmqCluster.
Field | Description |
---|---|
|
The name of the StorageClass to claim a PersistentVolume from. |
|
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. |
Reference to the Kubernetes Secret containing the credentials of the default user.
Field | Description |
---|---|
|
Name of the Secret containing the default user credentials |
|
Namespace of the Secret containing the default user credentials |
|
Key-value pairs in the Secret corresponding to |
Reference to the Kubernetes Service serving the cluster.
Field | Description |
---|---|
|
Name of the Service serving the cluster |
|
Namespace of the Service serving the cluster |
Settable attributes for the Service resource.
Field | Description |
---|---|
|
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 |
|
Annotations to add to the Service. |
|
IPFamilyPolicy represents the dual-stack-ness requested or required by a Service See also: https://pkg.go.dev/k8s.io/api/core/v1#IPFamilyPolicy |
Spec is the desired state of the RabbitmqCluster Custom Resource.
Field | Description |
---|---|
|
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. |
|
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. |
|
List of Secret resource containing access credentials to the registry for the RabbitMQ image. Required if the docker registry is private. |
|
The desired state of the Kubernetes Service to create for the cluster. |
|
The desired persistent storage configuration for each Pod in the cluster. |
|
The desired compute resource requirements of Pods in the cluster. |
|
Affinity scheduling rules to be applied on created Pods. |
|
Tolerations is the list of Toleration resources attached to each Pod in the RabbitmqCluster. |
|
Configuration options for RabbitMQ Pods created in the cluster. |
|
TLS-related configuration for the RabbitMQ cluster. |
|
Provides the ability to override the generated manifest of several child resources. |
|
If unset, or set to false, the cluster will run |
|
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 |
|
DelayStartSeconds is the time the init container ( |
|
Secret backend configuration for the RabbitmqCluster. Enables to fetch default user credentials and certificates from K8s external secret stores. |
Status presents the observed state of RabbitmqCluster
Field | Description |
---|---|
|
Set of Conditions describing the current state of the RabbitmqCluster |
|
Identifying information on internal resources |
|
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 |
|
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. |
SecretBackend configures a single secret backend. Today, only Vault exists as supported secret backend. Future secret backends could be Secrets Store CSI Driver. If not configured, K8s Secrets will be used.
Field | Description |
---|---|
|
|
|
Override configuration for the Service created to serve traffic to the cluster. Allows for the manifest of the created Service to be overwritten with custom configuration.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a Service. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
Override configuration for the RabbitMQ StatefulSet. Allows for the manifest of the created StatefulSet to be overwritten with custom configuration.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the desired identities of pods in this set. |
StatefulSetSpec contains a subset of the fields included in k8s.io/api/apps/v1.StatefulSetSpec. Field RevisionHistoryLimit is omitted. Every field is made optional.
Field | Description |
---|---|
|
replicas corresponds to the desired number of Pods in the StatefulSet. For more info, see https://pkg.go.dev/k8s.io/api/apps/v1#StatefulSetSpec |
|
selector is a label query over pods that should match the replica count. It must match the pod template’s labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors |
|
template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet. |
|
volumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name. |
|
serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller. |
|
podManagementPolicy controls how pods are created during initial scale up,
when replacing pods on nodes, or when scaling down. The default policy is
|
|
updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template. |
|
The minimum number of seconds for which a newly created StatefulSet pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready). |
|
StatefulSetPersistentVolumeClaimRetentionPolicy describes the policy used for PVCs created from the StatefulSet VolumeClaimTemplates. |
Allows for the configuration of TLS certificates to be used by RabbitMQ. Also allows for non-TLS traffic to be disabled.
Field | Description |
---|---|
|
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 |
|
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 |
|
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. |
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.
Field | Description |
---|---|
|
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". |
|
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 |
|
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". |
|
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. |
|
Field | Description |
---|---|
|
Path in Vault PKI engine. For example "pki/issue/hashicorp-com". required |
|
Specifies the requested certificate Common Name (CN). Defaults to <serviceName>.<namespace>.svc if not provided. |
|
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". |
|
Specifies the requested IP Subject Alternative Names, in a comma-delimited list. |