diff --git a/docs/index.md b/docs/index.md index 42a5f23959..9e5f9392ac 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,7 @@ title: RabbitMQ Documentation --- -# Documentation: Table of Contents +import { RabbitMQServerVersion } from '@site/src/components/RabbitMQServer'; -This page summarises the available RabbitMQ documentation for the [latest patch release](/release-information). +# RabbitMQ Documentation -## Installation +Welcome to RabbitMQ documentation! -See the [Downloads and Installation](./download.md) page -for information on the most recent release and how to install it. +:::note +You are currently viewing the documentation for RabbitMQ +. +::: +
+
+

Versioning of the Documentation

-## Tutorials +Use the drop-down menu on the top right of any page +Click the *hamburger* icon at the top left and go back to the main menu +to select the documentation version for the RabbitMQ release that you are +using. We update each version of documentation with the latest patch +information for that release. +
-See the [Get Started](/tutorials) page -for our tutorials for various programming languages. +
+

Table of Contents

-The tutorials offer a gentle introduction to messaging, one of the protocols RabbitMQ supports, -key messaging features, and some common usage scenarios. +Use the navigation on the left +Click the *hamburger* icon at the top left +to browse through documentation for your release of RabbitMQ. This table of +contents is structured so it can be used by the two main RabbitMQ users: +Developers and Administrators. +
+
-[AMQP 0-9-1 Overview](/tutorials/amqp-concepts) provides a brief overview -for the original RabbitMQ protocol. +## If you are a Developer +You might want to start with [Getting Started](/tutorials) if you are new to +RabbitMQ. These tutorials will guide you on how to use RabbitMQ. -## Server and Key Plugins +If you are familiar with RabbitMQ, go directly to the **How to Use RabbitMQ** +information to start exploring it. -RabbitMQ server documentation is organised in a number of guides: +## If you are an Administrator -### Installation and Provisioning +The table of contents for administrators is structured this way: - * [Packages and repositories](./download.md) - * [Kubernetes Operator](/kubernetes/operator/operator-overview) - * [Provisioning Tools](./download.md) (Docker image, Chef cookbook, Puppet module, etc) - * [Package Signatures](./signatures.md) - * [Supported Erlang/OTP Versions](./which-erlang.md) - * [Supported RabbitMQ Versions](/release-information) - * [Changelog](/release-information) - * [Snapshot (Nightly) Builds](./snapshots.md) - -#### Operating Systems and Platforms - - * [Kubernetes](/kubernetes/operator/operator-overview) - * [Debian and Ubuntu](./install-debian.md) - * [Red Hat Enterprise Linux, CentOS, Fedora](./install-rpm.md) - * [Windows Installer](./install-windows.md), [Windows Configuration](./windows-configuration.md) - * [Generic UNIX Binary Build](./install-generic-unix.md) - * [MacOS via Homebrew](./install-homebrew.md) - * [Amazon EC2](./ec2.md) - * [Solaris](./install-solaris.md) - - -### Upgrading - - * Main [Upgrading guide](./upgrade.md) - * [Schema Definitions](./definitions.md) - * [Blue-green deployment-based upgrade](./blue-green-upgrade.md) - - -### CLI tools - - * [RabbitMQ CLI Tools](./cli.md): general installation and usage topics - * [rabbitmqctl](./man/rabbitmqctl.8.md): primary RabbitMQ CLI tool - * [rabbitmq-diagnostics](./man/rabbitmq-diagnostics.8.md): [monitoring](./monitoring.md), [health checking](./monitoring.md#health-checks), observability tooling - * [rabbitmq-plugins](./man/rabbitmq-plugins.8.md): plugin management - * [rabbitmq-queues](./man/rabbitmq-queues.8.md): operations on quorum queues - * [rabbitmq-streams](./man/rabbitmq-streams.8.md): operations on streams - * [rabbitmq-upgrade](./man/rabbitmq-upgrade.8.md): operations related to [upgrades](./upgrade.md) - * [rabbitmqadmin](./management-cli.md) ([HTTP API](./management.md)-based zero dependency management tool) - * [man pages](./manpages.md) - - -### Configuration - - * [Configuration](./configure.md) - * [File and Directory Locations](./relocate.md) - * [Logging](./logging.md) - * [Policies and Runtime Parameters](./parameters.md) - * [Schema Definitions](./definitions.md) - * [Per Virtual Host Limits](./vhosts.md) - * [Client Connection Heartbeats](./heartbeats.md) - * [Inter-node Connection Heartbeats](./nettick.md) - * [Runtime Tuning](./runtime.md) - * [Queue and Message TTL](./ttl.md) - - -### Authentication and authorisation: - - * [Access Control](./access-control.md): main authentication and authorisation guide - * [AMQP 0-9-1 Authentication Mechanisms](./authentication.md) - * [Virtual Hosts](./vhosts.md) - * [Credentials and Passwords](./passwords.md) - * x509 (TLS) [Certificate-based client authentication](https://github.com/rabbitmq/rabbitmq-server/tree/v3.13.x/deps/rabbitmq_auth_mechanism_ssl) - * [OAuth 2 Support](./oauth2.md) - * [OAuth 2 Examples](./oauth2-examples.md) for common identity providers - * [LDAP](./ldap.md) - * [Validated User ID](./validated-user-id.md) - * [Authentication Failure Notifications](./auth-notification.md) - - -### Networking and TLS - - * [Client Connections](./connections.md) - * [Networking](./networking.md) - * [Inter-protocol Conversions](./conversions.md) - * [Troubleshooting Network Connectivity](./troubleshooting-networking.md) - * [Using TLS for Client Connections](./ssl.md) - * [Using TLS for Inter-node Traffic](./clustering-ssl.md) - * [Troubleshooting TLS](./troubleshooting-ssl.md) - - -### Monitoring, Audit, Application Troubleshooting: - - * [Management UI and HTTP API](./management.md) - * [Monitoring](./monitoring.md), metrics and health checks - * [Troubleshooting guidance](./troubleshooting.md) - * [rabbitmqadmin](./management-cli.md), an HTTP API command line tool - * [Client Connections](./connections.md) - * [AMQP 0-9-1 Channels](./channels.md) - * [Inter-protocol Conversions](./conversions.md) - * [Internal Event Exchange](./event-exchange.md) - * [Per Virtual Host Limits](./vhosts.md#limits) - * [Per User Limits](./user-limits.md) - * [Message Tracing](./firehose.md) - * [Capturing Traffic with Wireshark](/amqp-wireshark) - - -### Clustering - - * [Clustering](./clustering.md) - * [Cluster Formation and Peer Discovery](./cluster-formation.md) - * [Intra-cluster Compression](https://docs.vmware.com/en/VMware-RabbitMQ-for-Kubernetes/1/rmq/clustering-compression-rabbitmq.html) - -### Replicated Queue Types, Streams, High Availability - - * [Quorum Queues](./quorum-queues.md): a modern highly available replicated queue type - * [Migrating Mirrored Classic Queues to Quorum Queues](./migrate-mcq-to-qq.md) - * [Streams](./streams.md): a messaging abstraction that allows for repeatable consumption - * [RabbitMQ Stream plugin](./stream.md): the plugin and binary protocol behind RabbitMQ streams - -### Distributed RabbitMQ - - * [Replication and Distributed Feature Overview](./distributed.md) - * [Reliability](./reliability.md) of distributed deployments, publishers and consumers - * [Federation](./federation.md) - * [Shovel](./shovel.md) - - -### Guidance - - * [Monitoring](./monitoring.md) - * [Production Checklist](./production-checklist.md) - * [Backup and Restore](./backup.md) - * [Troubleshooting guidance](./troubleshooting.md) - * [Reliable Message Delivery](./reliability.md) - - -### Message Store and Resource Management - - * [Memory Usage Analysis](./memory-use.md) - * [Memory Management](./memory.md) - * [Resource Alarms](./alarms.md) - * [Free Disk Space Alarms](./disk-alarms.md) - * [Runtime Tuning](./runtime.md) - * [Flow Control](./flow-control.md) - * [Message Store Configuration](./persistence-conf.md) - * [Queue and Message TTL](./ttl.md) - * [Queue Length Limits](./maxlength.md) - * [Lazy Queues](./lazy-queues.md) - - -### Queue and Consumer Features - - * [Queues guide](./queues.md) - * [Consumers guide](./consumers.md) - * [Queue and Message TTL](./ttl.md) - * [Queue Length Limits](./maxlength.md) - * [Lazy Queues](./lazy-queues.md) - * [Dead Lettering](./dlx.md) - * [Priority Queues](./priority.md) - * [Consumer Cancellation Notifications](./consumer-cancel.md) - * [Consumer Prefetch](./consumer-prefetch.md) - * [Consumer Priorities](./consumer-priority.md) - * [Streams](./streams.md) - - -### Publisher Features - - * [Publishers guide](./publishers.md) - * [Exchange-to-Exchange Bindings](./e2e.md) - * [Alternate Exchanges](./ae.md) - * [Sender-Selected Distribution](./sender-selected.md) - - -### STOMP, MQTT, WebSockets - - * [Client Connections](./connections.md) - * [Inter-protocol Conversions](./conversions.md) - * [STOMP](./stomp.md) - * [MQTT](./mqtt.md) - * [STOMP over WebSockets](./web-stomp.md) - * [MQTT over WebSockets](./web-mqtt.md) - - -## Man Pages - - * [man Pages](./manpages.md) - - -## Client Libraries and Features - -[RabbitMQ clients documentation](/client-libraries) is organised in a number -of guides and API references. A separate set of [tutorials](/tutorials) for -many popular programming languages are also available, as is an [AMQP 0-9-1 Overview](/tutorials/amqp-concepts). - -### Client Documentation Guides - - * [Java Client](/client-libraries/java-api-guide) - * [.NET Client](/client-libraries/dotnet-api-guide) - * [Ruby Client](http://rubybunny.info) - * [JMS Client](/client-libraries/jms-client) - * [Erlang Client](/client-libraries/erlang-client-user-guide) - * [RabbitMQ extensions to AMQP 0-9-1](./extensions.md) - -### Client-Driven Features - - * [Client Connections](./connections.md) - * [Consumers](./consumers.md) - * [Publishers](./publishers.md) - * [Channels](./channels.md) - * [Publisher Confirms and Consumer Acknowledgements](./confirms.md) - * [Queue and Message TTL](./ttl.md) - * [Queue Length Limits](./maxlength.md) - * [Lazy Queues](./lazy-queues.md) - * [Exchange-to-Exchange Bindings](./e2e.md) - * [Sender-Selected Distribution](./sender-selected.md) - * [Priority Queues](./priority.md) - * [Consumer Cancellation Notifications](./consumer-cancel.md) - * [Consumer Prefetch](./consumer-prefetch.md) - * [Consumer Priorities](./consumer-priority.md) - * [Dead Lettering](./dlx.md) - * [Alternate Exchanges](./ae.md) - * [Message Tracing](./firehose.md) - * [Capturing Traffic with Wireshark](/amqp-wireshark) - - -## References - - * [Java](https://rabbitmq.github.io/rabbitmq-java-client/api/current/) - * [.NET](https://rabbitmq.github.io/rabbitmq-dotnet-client/index.html) - * [AMQP 0-9-1 URI Specification](./uri-spec.md) - * [URI Query Parameters](./uri-query-parameters.md) - -See [Clients and Developer Tools](/client-libraries/devtools) -for community client libraries. - - -## Plugins - -Popular tier 1 (built-in) plugins: - - * [Management](./management.md) - * [STOMP](./stomp.md) - * [MQTT](./mqtt.md) - * [STOMP over WebSockets](./web-stomp.md) - * [MQTT over WebSockets](./web-mqtt.md) - * [Federation](./federation.md) - * [Shovel](./shovel.md) - * [Internal Event Exchange](./event-exchange.md) - -See [Community Plugins](/community-plugins), -[RabbitMQ GitHub repositories](https://github.com/rabbitmq/) -and the [Plugins Guide](./plugins.md) for more information about plugins. - - -## Development - - * [RabbitMQ GitHub repositories](https://github.com/rabbitmq/) - * [Contributor Code of Conduct](https://github.com/rabbitmq/rabbitmq-server/blob/main/CODE_OF_CONDUCT.md) - * How to [build RabbitMQ](./build-server.md) from source, or - * from [GitHub](/github). - - -## Protocols - - * AMQP 0-9-1: [Extensions](./extensions.md) | [Quick Reference](/amqp-0-9-1-quickref) - * [STOMP](./stomp.md) - * [MQTT](./mqtt.md) - * [STOMP over WebSockets](./web-stomp.md) - * [MQTT over WebSockets](./web-mqtt.md) - * [AMQP 0-9-1 implementation details](/amqp-0-9-1-protocol). - * [AMQP 0-9-1 Errata document](/amqp-0-9-1-errata). +- The **How to Manage RabbitMQ** section provides documentation for configuring + and managing the RabbitMQ broker. +- The **How to Monitor RabbitMQ** section includes information which will guide + you on how to setup monitoring for RabbitMQ and the applications that use it. diff --git a/src/css/custom.css b/src/css/custom.css index 783c390a06..1954d16573 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -116,7 +116,63 @@ html[data-theme='dark'] .mermaid-msg > rect { font-size: smaller !important; } -/* Release Information table. */ +/* ------------------------------------------------------------------- +/* Docs introductino page. + * ------------------------------------------------------------------- */ + +/* + * The arrow icons were created by krystonschwarze and licensed under the CC-BY + * terms. The files were downloaded from svgrepo.com: + * - https://www.svgrepo.com/svg/510811/arrow-left-sm + * - https://www.svgrepo.com/svg/510834/arrow-up-right-sm + * + * The files were modified to crop the margins around the arrows. + */ + +.docs-tips-large-screen { + display: none; +} + +.docs-tips-small-screen { + display: unset; +} + +@media (min-width: 997px) { + .docs-tips { + margin-top: calc(var(--ifm-h2-vertical-rhythm-top) * var(--ifm-leading)); + + display: flex; + flex-direction: row-reverse; + gap: 1em; + } + + .docs-tips div { + background-repeat: no-repeat; + background-position: top 3px left; + background-size: var(--ifm-h2-font-size); + padding-left: calc(var(--ifm-h2-font-size) + 20px); + } + + .docs-tip-version-menu { + background-image: url("/img/arrow-up-right.svg"); + } + + .docs-tip-toc-menu { + background-image: url("/img/arrow-left.svg"); + } + + .docs-tips-large-screen { + display: unset; + } + + .docs-tips-small-screen { + display: none; + } +} + +/* ------------------------------------------------------------------- +/* Release Information table. + * ------------------------------------------------------------------- */ .release-information { --ri-color-latest: #d4f4b4; diff --git a/static/img/arrow-left.svg b/static/img/arrow-left.svg new file mode 100644 index 0000000000..b18f0fa9b2 --- /dev/null +++ b/static/img/arrow-left.svg @@ -0,0 +1,48 @@ + + + + + + + + + + diff --git a/static/img/arrow-up-right.svg b/static/img/arrow-up-right.svg new file mode 100644 index 0000000000..545ed9ef86 --- /dev/null +++ b/static/img/arrow-up-right.svg @@ -0,0 +1,48 @@ + + + + + + + + + +