Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RabbitMQ complete doc #667

Merged
merged 2 commits into from
Sep 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/examples/rabbitmq/cluster/rabbit-custom-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: kubedb.com/v1alpha2
kind: RabbitMQ
metadata:
name: rm-cluster
namespace: demo
spec:
version: "3.13.2"
storageType: Durable
storage:
storageClassName: "standard"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
configSecret:
name: rabbit-custom-config
17 changes: 17 additions & 0 deletions docs/examples/rabbitmq/cluster/rabbitmq-cluster.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: kubedb.com/v1alpha2
kind: RabbitMQ
metadata:
name: rabbitmq
namespace: demo
spec:
version: "3.13.2"
replicas: 3
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: standard
storageType: Durable
deletionPolicy: WipeOut
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: RabbitMQOpsRequest
metadata:
name: reconfigure-rm-cluster
namespace: demo
spec:
type: Reconfigure
databaseRef:
name: rm-cluster
configuration:
configSecret:
name: new-custom-config
timeout: 5m
apply: IfReady
15 changes: 15 additions & 0 deletions docs/examples/rabbitmq/opsrequests/rabbitmq-reconfigure-apply.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: RabbitMQOpsRequest
metadata:
name: reconfigure-apply
namespace: demo
spec:
type: Reconfigure
databaseRef:
name: rm-cluster
configuration:
applyConfig:
rabbitmq.conf: |
default_vhost = /newvhost
timeout: 5m
apply: IfReady
2 changes: 1 addition & 1 deletion docs/examples/rabbitmq/quickstart/quickstart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ metadata:
name: rm-quickstart
namespace: demo
spec:
version: "3.12.12"
version: "3.13.2"
replicas: 3
storage:
accessModes:
Expand Down
42 changes: 22 additions & 20 deletions docs/guides/rabbitmq/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,34 +16,36 @@ aliases:

# Overview

RabbitMQ is a robust and flexible open-source message broker software that facilitates communication between distributed applications. It implements the Advanced Message Queuing Protocol (AMQP) standard, ensuring reliable messaging across various platforms and languages. With its support for multiple messaging protocols and delivery patterns, RabbitMQ enables seamless integration and scalability for modern microservices architectures. It provides features such as message persistence, clustering, and high availability, making it a preferred choice for handling asynchronous communication and decoupling components in enterprise systems.
RabbitMQ is a robust and flexible open-source message broker software that facilitates communication between distributed applications. It implements the Advanced Message Queuing Protocol (AMQP) standard, ensuring reliable messaging across various platforms and languages. With its support for multiple messaging protocols (MQTT, STOMP etc.) and delivery patterns (Fanout, Direct, Exchange etc.), RabbitMQ enables seamless integration and scalability for modern microservices architectures. It provides features such as message persistence, clustering, and high availability, making it a preferred choice for handling asynchronous communication and decoupling components in enterprise systems.

## Supported RabbitMQ Features

| Features | Availability |
|----------------------------------------------------|:------------:|
| Clustering | ✓ |
| Authentication & Authorization | ✓ |
| Custom Configuration | ✓ |
| Monitoring using Prometheus and Grafana | ✓ |
| Builtin Prometheus Discovery | ✓ |
| Using Prometheus operator | ✓ |
| Externally manageable Auth Secret | ✓ |
| Reconfigurable Health Checker | ✓ |
| Persistent volume | ✓ |
| Dashboard ( Management UI ) | ✓ |
| Grafana Dashboards (Alerts and Monitoring) | ✓ |
| Custom Plugin configurations | ✓ |
| Pre-Enabled utility plugins ( Shovel, Federation ) | ✓ |
| Automatic Vertical Scaling | ✓ |
| Automatic Volume Expansion | ✓ |
| Autoscaling ( Compute resources & Storage ) | ✓ |

| Features | Availability |
|---------------------------------------------------------------|:------------:|
| Clustering | ✓ |
| Custom Configuration | ✓ |
| Custom Plugin configurations | ✓ |
| Monitoring using Prometheus and Grafana | ✓ |
| Builtin Prometheus Discovery | ✓ |
| Operator managed Prometheus Discovery | ✓ |
| Authentication & Authorization (TLS) | ✓ |
| Externally manageable Auth Secret | ✓ |
| Persistent volume | ✓ |
| Grafana Dashboards (Alerts and Monitoring) | ✓ |
| Pre-Enabled Dashboard ( Management UI ) | ✓ |
| Pre-Enabled utility plugins ( Shovel, Federation ) | ✓ |
| Pre-Enabled Protocols with web dispatch ( AMQP, MQTT, STOMP ) | ✓ |
| Automated Vertical & Horizontal Scaling | ✓ |
| Automated Volume Expansion | ✓ |
| Autoscaling ( Compute resources & Storage ) | ✓ |
| Reconfigurable Health Checker | ✓ |
| Reconfigurable TLS Certificates (Add, Remove, Rotate, Update) | ✓ |

## Supported RabbitMQ Versions

KubeDB supports the following RabbitMQ Versions.
- `3.12.12`
- `3.13.2`

## Life Cycle of a RabbitMQ Object

Expand Down
3 changes: 1 addition & 2 deletions docs/guides/rabbitmq/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
title: RabbitMQ
menu:
docs_{{ .version }}:
identifier: guides-rabbitmq
name: RabbitMQ
identifier: rm-guides
parent: guides
weight: 10
menu_name: docs_{{ .version }}
Expand Down
10 changes: 10 additions & 0 deletions docs/guides/rabbitmq/autoscaler/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Autoscaling
menu:
docs_{{ .version }}:
identifier: rm-autoscaling
name: Autoscaling
parent: rm-guides
weight: 46
menu_name: docs_{{ .version }}
---
10 changes: 10 additions & 0 deletions docs/guides/rabbitmq/autoscaler/compute/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Compute Autoscaling
menu:
docs_{{ .version }}:
identifier: rm-autoscaling-compute
name: Compute Autoscaling
parent: rm-autoscaling
weight: 46
menu_name: docs_{{ .version }}
---
Loading
Loading