{
    "captainVersion": "2",
    "documentation": "Taken from https://hub.docker.com/_/rabbitmq",
    "displayName": "RabbitMQ",
    "description": "RabbitMQ is an open-source message-broker software that originally implemented the Advanced Message Queuing Protocol",
    "dockerCompose": {
        "version": "3.3",
        "services": {
            "$$cap_appname": {
                "image": "rabbitmq:$$cap_rabbitmq_version",
                "notExposeAsWebApp": "true",
                "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"
                }
            }
        }
    },
    "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.\n\n 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."
    },
    "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,}/"
        }
    ]
}
