Merge pull request #570 from joshuacox/rabbitexamples

rabbit-examples
This commit is contained in:
Raúl Sánchez 2017-08-02 20:33:03 +02:00 committed by GitHub
commit 68bc9ef26d
5 changed files with 303 additions and 0 deletions

View File

@ -0,0 +1,11 @@
# RabbitMQ Examples
I needed to test a rabbitMQ with some basics so I forked the official tutorials and added a Dockerfile
[here](https://github.com/joshuacox/rabbitmq-tutorials/tree/jsdockerfile/javascript-nodejs)
[dockerhub here](https://hub.docker.com/r/joshuacox/rabbitmq-tutorials/)
In that fork, there is a `Makefile` that can run through the proof of
concept. `make` will start a rabbitmq container, then start all the
listeners as deamons, and the emitters to run once. The emitters are
ephemeral and will go away once their message is sent or they error out.

View File

@ -0,0 +1,253 @@
version: '2'
services:
{{- if eq .Values.rabbitmq_link ""}}
rabbit:
hostname: rabbit
image: rabbitmq:3
{{- end}}
receive:
command: receive
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: send
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
send:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
io.rancher.container.start_once: true
command: send
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
worker:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: newtask
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
command: worker
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
newtask:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
io.rancher.container.start_once: true
command: new_task
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
rpcserver:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: rpcclient
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
command: rpc_server
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
rpcclient:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
io.rancher.container.start_once: true
command: rpc_client 4
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
receivelogs:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: emitlog
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
command: receive_logs
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
emitlog:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
io.rancher.container.start_once: true
command: emit_log
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
receivelogsdirect:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: emitlogdirect
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
command: receive_logs_direct info
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
emitlogdirect:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
io.rancher.container.start_once: true
command: emit_log_direct
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
receivelogstopic:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: emitlogtopic
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
command: receive_logs_topic anonymous.info
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}
emitlogtopic:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
io.rancher.container.start_once: true
command: emit_log_topic
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
environment:
- AMQ_HOST=rabbit.rancher.internal
{{- else}}
links:
- rabbit
environment:
- AMQ_HOST=rabbit
{{- end}}

View File

@ -0,0 +1,32 @@
version: '2'
catalog:
name: RabbitMQ_Examples
version: 3.6-rancher1
description: |
tutorial storage examples
questions:
- variable: rabbitmq_link
description: "rabbitmq service link"
label: "rabbitmq stack/service"
default: ""
required: false
type: "service"
- variable: "host_label"
description: "Host label where to run this service."
label: "Host label:"
required: false
default: ""
type: "string"
services:
receive:
scale: 1
receivelogs:
scale: 1
receivelogsdirect:
scale: 1
receivelogstopic:
scale: 1
rpcserver:
scale: 1
worker:
scale: 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1,7 @@
name: RabbitMQ 3.6 Tutorial Examples
description: |
Robust messaging for applications Examples
version: 3.6-rancher1
category: Message queues
maintainer: "Josh Cox <josh@webhosting.coop>"
minimum_rancher_version: v0.59.0