You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR allows auto generation of the API Reference documentation from the api/ directory in the repo.
Running make api-reference, or any other make target that requires auto generation of code, will cause the reference docs to be regenerated. They now live at docs/api/rabbitmq.com.ref.asciidoc. This format can be interpreted by GitHub and rendered as HTML.
Allowing this documentation to be autogenerated will prevent API elements/descriptions being updated without the API reference docs being updated alongside.
This PR also includes a GitHub Action to take the generated Asciidoc and insert it into our GitHub Wiki, so that our API reference is neatly packaged together with the source code.
// Spec is the desired state of the RabbitmqCluster Custom Resource.
39
44
typeRabbitmqClusterSpecstruct {
40
45
// 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.
46
+
// This value should be an odd number to ensure the resultant cluster can establish exactly one quorum of nodes
47
+
// in the event of a fragmenting network partition.
41
48
// +optional
42
49
// +kubebuilder:validation:Minimum:=0
43
50
// +kubebuilder:default:=1
44
51
Replicas*int32`json:"replicas,omitempty"`
45
52
// Image is the name of the RabbitMQ docker image to use for RabbitMQ nodes in the RabbitmqCluster.
53
+
// Must be provided together with ImagePullSecrets in order to use an image in a private registry.
// Allows for the configuration of TLS certificates to be used by RabbitMQ. Also allows for non-TLS traffic to be disabled.
236
261
typeTLSSpecstruct {
237
262
// Name of a Secret in the same Namespace as the RabbitmqCluster, containing the server's private key & public certificate for TLS.
238
263
// The Secret must store these as tls.key and tls.crt, respectively.
264
+
// This Secret can be created by running `kubectl create secret tls tls-secret --cert=path/to/tls.cert --key=path/to/tls.key`
239
265
SecretNamestring`json:"secretName,omitempty"`
240
266
// Name of a Secret in the same Namespace as the RabbitmqCluster, containing the Certificate Authority's public certificate for TLS.
241
267
// The Secret must store this as ca.crt.
268
+
// This Secret can be created by running `kubectl create secret generic ca-secret --from-file=ca.crt=path/to/ca.cert`
242
269
// Used for mTLS, and TLS for rabbitmq_web_stomp and rabbitmq_web_mqtt.
243
270
CaSecretNamestring`json:"caSecretName,omitempty"`
244
271
// 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.
@@ -252,33 +279,41 @@ type TLSSpec struct {
252
279
// +kubebuilder:validation:MaxLength=100
253
280
typePluginstring
254
281
255
-
// Rabbitmq related configurations
282
+
// RabbitMQ-related configuration.
256
283
typeRabbitmqClusterConfigurationSpecstruct {
257
284
// 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.
287
+
// Modify to add to the rabbitmq.conf file in addition to default configurations set by the operator.
288
+
// Modifying this property on an existing RabbitmqCluster will trigger a StatefulSet rolling restart and will cause rabbitmq downtime.
289
+
// For more information on this config, see https://www.rabbitmq.com/configure.html#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.
297
+
// For more information on env config, see https://www.rabbitmq.com/man/rabbitmq-env.conf.5.html
267
298
// +kubebuilder:validation:MaxLength:=100000
268
299
EnvConfigstring`json:"envConfig,omitempty"`
269
300
}
270
301
271
302
// The settings for the persistent storage desired for each Pod in the RabbitmqCluster.
272
303
typeRabbitmqClusterPersistenceSpecstruct {
273
-
// StorageClassName is the name of the StorageClass to claim a PersistentVolume from.
304
+
// The name of the StorageClass to claim a PersistentVolume from.
0 commit comments