rabbit-examples

This commit is contained in:
Josh Cox 2017-07-28 11:53:25 -05:00
parent d341494352
commit 0498fcdd3f
5 changed files with 227 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,171 @@
version: '2'
services:
{{- if eq .Values.rabbitmq_link ""}}
rabbit:
hostname: rabbit
image: rabbitmq:3
send:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.start_once: true
environment:
- AMQ_HOST=rabbit
command: send
{{- end}}
receive:
command: receive
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
environment:
- AMQ_HOST=rabbit
send:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.start_once: true
environment:
- AMQ_HOST=rabbit
command: send
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
worker:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
environment:
- AMQ_HOST=rabbit
command: worker
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
newtask:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.start_once: true
environment:
- AMQ_HOST=rabbit
command: new_task
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
rpcserver:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
environment:
- AMQ_HOST=rabbit
command: rpc_server
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
rpcclient:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.start_once: true
environment:
- AMQ_HOST=rabbit
command: rpc_client 4
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
receivelogs:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
environment:
- AMQ_HOST=rabbit
command: receive_logs
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
emitlog:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.start_once: true
environment:
- AMQ_HOST=rabbit
command: emit_log
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
receivelogsdirect:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
environment:
- AMQ_HOST=rabbit
command: receive_logs_direct info
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
emitlogdirect:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.start_once: true
environment:
- AMQ_HOST=rabbit
command: emit_log_direct
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
receivelogstopic:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
environment:
- AMQ_HOST=rabbit
command: receive_logs_topic anonymous.info
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}
emitlogtopic:
image: joshuacox/rabbitmq-tutorials
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.container.start_once: true
environment:
- AMQ_HOST=rabbit
command: emit_log_topic
{{- if ne .Values.rabbitmq_link ""}}
external_links:
- ${rabbitmq_link}:rabbit
{{- end}}

View File

@ -0,0 +1,38 @@
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"
services:
receive:
scale: 1
send:
scale: 1
worker:
scale: 1
newtask:
scale: 1
rpcserver:
scale: 1
rpcclient:
scale: 1
receivelogs:
scale: 1
emitlog:
scale: 1
receivelogsdirect:
scale: 1
emitlogdirect:
scale: 1
receivelogstopic:
scale: 1
emitlogtopic:
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