# yaml-language-server: $schema=https://cubeship.dev/schema/template/v1.json version: 1 name: 'RabbitMQ' # The first release that publishes AMQP and gives a volume to the user its image runs as. minCubeship: "0.7.2" project: rabbitmq inputs: - key: domain type: domain label: Where the management UI answers - key: username type: text label: The username apps and the UI sign in with default: admin - key: password type: secret label: That user's password generate: 24 - key: amqpPort type: number label: The port AMQP answers on help: Choose a port from 1024 to 65535, and open it in your provider's firewall too. default: 5672 min: 1024 max: 65535 apps: - key: broker name: rabbitmq image: rabbitmq tag: "4.3.5-management" # The management UI, which is what the domain and the health check # reach. Apps connect over AMQP on 5672 at the internal address. port: 15672 health: / domains: - host: ${input.domain} tcp: - port: 5672 host: ${input.amqpPort} volumes: - path: /var/lib/rabbitmq limits: { cpu: 1, memory: 1Gi } env: # RabbitMQ keeps its data under its node name, which defaults to the # container's hostname — new on every deploy, so the queues would # seem to vanish. A fixed name keeps them. RABBITMQ_NODENAME: rabbit@localhost RABBITMQ_DEFAULT_USER: ${input.username} RABBITMQ_DEFAULT_PASS: ${input.password}