captainVersion: 4
services:
    $$cap_appname:
        image: rabbitmq:$$cap_rabbitmq_version
        volumes:
            - $$cap_appname-rabbitmq-data:/var/lib/rabbitmq
        restart: always
        environment:
            RABBITMQ_DEFAULT_USER: $$cap_rabbitmq_user
            RABBITMQ_DEFAULT_PASS: $$cap_rabbitmq_password
            RABBITMQ_NODENAME: $$cap_rabbitmq_nodename
        caproverExtra:
            notExposeAsWebApp: 'true'
caproverOneClickApp:
    variables:
        - id: $$cap_rabbitmq_version
          label: RabbitMQ Version Tag
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/rabbitmq/tags/
          defaultValue: '3.7'
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_rabbitmq_user
          label: RabbitMQ Default User
          description: ''
          validRegex: /.{1,}/
        - id: $$cap_rabbitmq_password
          label: RabbitMQ Default Password
          description: ''
          validRegex: /.{1,}/
        - id: $$cap_rabbitmq_nodename
          label: RabbitMQ Nodename
          description: Nodename is appended to the end of the database directory.
          defaultValue: rabbit@localhost
          validRegex: /.{1,}/
    instructions:
        start: >-
            RabbitMQ is open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages.

             Enter your RabbitMQ Configuration parameters and click on next. It will take about a minute for the process to finish.
        end: RabbitMQ is deployed and available as srv-captain--$$cap_appname:5672 to other apps.
    displayName: RabbitMQ
    isOfficial: true
    description: RabbitMQ is an open-source message-broker software that originally implemented the Advanced Message Queuing Protocol
    documentation: Taken from https://hub.docker.com/_/rabbitmq
