Skip to content

API_Reference_v1.2.0

Connor Rogers edited this page Jan 15, 2021 · 1 revision

API Reference

rabbitmq.com/v1beta1

Package v1beta1 contains API Schema definitions for the rabbitmq v1beta1 API group

Definitions

EmbeddedLabelsAnnotations

It is used in Service and StatefulSet

Appears In:
Field Description

labels object (keys:string, values:string)

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 object (keys:string, values:string)

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

EmbeddedObjectMeta contains a subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta Only fields which are relevant to embedded resources are included. It is used in PersistentVolumeClaim and PodTemplate

Field Description

name string

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 string

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

labels object (keys:string, values:string)

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 object (keys:string, values:string)

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

PersistentVolumeClaim is an embedded version of k8s.io/api/core/v1.PersistentVolumeClaim. It contains TypeMeta and a reduced ObjectMeta. Field status is omitted.

Appears In:
Field Description

TypeMeta TypeMeta

Refer to Kubernetes API documentation for fields of metadata.

Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

Plugin (string)

PodTemplateSpec

PodTemplateSpec is an embedded version of k8s.io/api/core/v1.PodTemplateSpec. It contains a reduced ObjectMeta.

Appears In:
Field Description

Refer to Kubernetes API documentation for fields of metadata.

spec PodSpec

RabbitmqCluster

RabbitmqCluster is the Schema for the rabbitmqclusters API

Appears In:
Field Description

apiVersion string

rabbitmq.com/v1beta1

kind string

RabbitmqCluster

TypeMeta TypeMeta

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

RabbitmqClusterConfigurationSpec

Rabbitmq related configurations

Appears In:
Field Description

additionalPlugins Plugin array

List of plugins to enable in addition to essential plugins: rabbitmq_management, rabbitmq_prometheus, and rabbitmq_peer_discovery_k8s.

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.

advancedConfig string

Specify any rabbitmq advanced.config configurations

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.

RabbitmqClusterDefaultUser

Appears In:
Field Description

RabbitmqClusterList

RabbitmqClusterList contains a list of RabbitmqCluster

Field Description

apiVersion string

rabbitmq.com/v1beta1

kind string

RabbitmqClusterList

TypeMeta TypeMeta

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

RabbitmqClusterOverrideSpec

Appears In:
Field Description

statefulSet StatefulSet

service Service

RabbitmqClusterPersistenceSpec

The settings for the persistent storage desired for each Pod in the RabbitmqCluster.

Appears In:
Field Description

storageClassName string

StorageClassName is the name of the StorageClass to claim a PersistentVolume from.

storage Quantity

The requested size of the persistent volume attached to each Pod in the RabbitmqCluster.

RabbitmqClusterSecretReference

Field Description

name string

namespace string

keys object (keys:string, values:string)

RabbitmqClusterServiceReference

Field Description

name string

namespace string

RabbitmqClusterServiceSpec

Settable attributes for the Service resource.

Appears In:
Field Description

annotations object (keys:string, values:string)

Annotations to add to the Service.

RabbitmqClusterSpec

Spec is the desired state of the RabbitmqCluster Custom Resource.

Appears In:
Field Description

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.

image string

Image is the name of the RabbitMQ docker image to use for RabbitMQ nodes in the RabbitmqCluster.

imagePullSecrets LocalObjectReference array

List of Secret resource containing access credentials to the registry for the RabbitMQ image. Required if the docker registry is private.

affinity Affinity

tolerations Toleration array

Tolerations is the list of Toleration resources attached to each Pod in the RabbitmqCluster.

tls TLSSpec

skipPostDeploySteps boolean

If unset, or set to false, the cluster will run rabbitmq-queues rebalance all whenever the cluster is updated. 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

RabbitmqClusterStatus

Status presents the observed state of RabbitmqCluster

Appears In:
Field Description

clusterStatus string

conditions RabbitmqClusterCondition array

Set of Conditions describing the current state of the RabbitmqCluster

Identifying information on internal resources

Service

Field Description

Refer to Kubernetes API documentation for fields of metadata.

StatefulSet

Field Description

Refer to Kubernetes API documentation for fields of metadata.

Spec defines the desired identities of pods in this set.

StatefulSetSpec

StatefulSetSpec contains a subset of the fields included in k8s.io/api/apps/v1.StatefulSetSpec. Field RevisionHistoryLimit is omitted. Every field is made optional.

Appears In:
Field Description

replicas integer

replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity.

selector LabelSelector

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 PodTemplateSpec

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 PersistentVolumeClaim array

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 string

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 PodManagementPolicyType

podManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is OrderedReady, where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. The alternative policy is Parallel which will create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.

updateStrategy StatefulSetUpdateStrategy

updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.

TLSSpec

Appears In:
Field Description

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.

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. 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.

Clone this wiki locally