From 76c400fa2afc65c9cb217f0c2c3d957095903b9a Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Thu, 27 Jul 2017 10:57:51 -0500 Subject: [PATCH 1/9] Added 0.2.1 to accomodate upstream changes https://github.com/rancher/catalog-dockerfiles/pull/103 --- templates/rabbitmq-3/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/rabbitmq-3/config.yml b/templates/rabbitmq-3/config.yml index 7554719..5d3d836 100755 --- a/templates/rabbitmq-3/config.yml +++ b/templates/rabbitmq-3/config.yml @@ -1,5 +1,5 @@ name: RabbitMQ 3.6 description: | - Robust messaging for applications -version: 0.2.0 + Robust messaging for applications +version: "3.6-rancher0.2.1" category: Message queues From 2eeb1bbe227164e6e01fc17427295e1aef227a56 Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Thu, 27 Jul 2017 11:05:08 -0500 Subject: [PATCH 2/9] Added directory --- templates/rabbitmq-3/2/README.md | 12 ++++ templates/rabbitmq-3/2/docker-compose.yml | 42 ++++++++++++ templates/rabbitmq-3/2/rancher-compose.yml | 74 ++++++++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 templates/rabbitmq-3/2/README.md create mode 100755 templates/rabbitmq-3/2/docker-compose.yml create mode 100755 templates/rabbitmq-3/2/rancher-compose.yml diff --git a/templates/rabbitmq-3/2/README.md b/templates/rabbitmq-3/2/README.md new file mode 100644 index 0000000..5716bb4 --- /dev/null +++ b/templates/rabbitmq-3/2/README.md @@ -0,0 +1,12 @@ +RabbitMQ 3.6 with easy Rancher clustering +=== +Provides RabbitMQ image that can scale to a cluster. + +The following environment variables are passed to confd in order to set up RabbitMQ's configuration file: + +* Partition handling: RabbitMQ's cluster handling setting: default set to autoheal +* Erlang cookie: cookie to allow nodes communication: default set to defaultcookiepleasechange +* Net ticktime: adjusts the frequency of both tick messages and detection of failures: default set to 60 +* Confd args: additional confd args along with default --backend rancher --prefix /2015-07-25: default set to --interval 5 + +*Note*: You can pass an alternate `confd` configuration via the `ALTERNATE_CONF` environment variable. diff --git a/templates/rabbitmq-3/2/docker-compose.yml b/templates/rabbitmq-3/2/docker-compose.yml new file mode 100755 index 0000000..efa4e68 --- /dev/null +++ b/templates/rabbitmq-3/2/docker-compose.yml @@ -0,0 +1,42 @@ +version: '2' +services: + rabbitmq: + image: webhostingcoopteam/rabbitmq-conf:0.2.1 + labels: + io.rancher.container.hostname_override: container_name + io.rancher.sidekicks: rabbitmq-base,rabbitmq-datavolume + io.rancher.scheduler.affinity:host_label: ${host_label} + volumes_from: + - rabbitmq-datavolume + environment: + - RABBITMQ_NET_TICKTIME=${net_ticktime} + - RABBITMQ_CLUSTER_PARTITION_HANDLING=${cluster_partition_handling} + - CONFD_ARGS=${confd_args} + rabbitmq-datavolume: + labels: + io.rancher.container.hostname_override: container_name + io.rancher.scheduler.affinity:host_label: ${host_label} + io.rancher.container.start_once: true + volume_driver: ${VOLUME_DRIVER} + volumes: + - rabbitconf:/etc/rabbitmq + - rancherbin:/opt/rancher/bin + entrypoint: /bin/true + image: rabbitmq:3.6-management-alpine + rabbitmq-base: + labels: + io.rancher.container.hostname_override: container_name + io.rancher.scheduler.affinity:host_label: ${host_label} + image: rabbitmq:3.6-management-alpine + restart: always + volumes_from: + - rabbitmq-datavolume + entrypoint: + - /opt/rancher/bin/run.sh + environment: + - RABBITMQ_ERLANG_COOKIE=${erlang_cookie} +volumes: + rancherbin: + driver: ${VOLUME_DRIVER} + rabbitconf: + driver: ${VOLUME_DRIVER} diff --git a/templates/rabbitmq-3/2/rancher-compose.yml b/templates/rabbitmq-3/2/rancher-compose.yml new file mode 100755 index 0000000..e13e616 --- /dev/null +++ b/templates/rabbitmq-3/2/rancher-compose.yml @@ -0,0 +1,74 @@ +version: '2' +catalog: + name: "Rabbit MQ" + version: "3.6-rancher0.2.1" + decription: A reliable, distributed messaging broker + questions: + - variable: "erlang_cookie" + description: "Erlang cookie required for auth" + label: "Erlang cookie:" + required: true + default: + type: "string" + - variable: "cluster_partition_handling" + label: "Partition Handling:" + description: "Cluster partition handling mode" + required: true + type: "enum" + default: autoheal + options: + - autoheal + - ignore + - pause_minority + - variable: "net_ticktime" + description: "Rabbitmq net ticktime setting" + label: "Net ticktime:" + required: false + type: "int" + default: 60 + - variable: "confd_args" + description: "Confd additional args" + label: "Confd args" + required: false + type: "string" + default: --interval 5 + - variable: RABBITMQ_TAG + default: "rabbitmq:3.6.10-management-alpine" + label: "rabbitMQ_version" + required: true + type: enum + options: # List of options if using type of `enum` + - "rabbitmq:3.6.10-management-alpine" + - "rabbitmq:3.6.10-management" + - "rabbitmq:3.6.9-management-alpine" + - "rabbitmq:3.6.9-management" + - "rabbitmq:3.6.8-management-alpine" + - "rabbitmq:3.6.8-management" + - "rabbitmq:3.6-management-alpine" + - "rabbitmq:3.6-management" + - "rabbitmq:management" + - variable: "VOLUME_DRIVER" + description: "The VOLUME driver to associate with this server" + label: "VOLUME Driver" + required: true + default: "rancher-nfs" + type: enum + options: # List of options if using type of `enum` + - rancher-nfs + - rancher-efs + - rancher-ebs + - variable: host_label + label: "Host with Label to put rabbitmq on" + description: | + Host label to use as rabbitmq 'value' tag. + Example: 'rabbitmq=true' + required: true + default: "private=true" + type: "string" + +services: + rabbitmq: + metadata: + rabbitmq: + config: + node.name: "$${HOSTNAME}" From 9cdd709ef5dee08566af7d42477b34c3dcf975d4 Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Thu, 27 Jul 2017 12:37:46 -0500 Subject: [PATCH 3/9] Added local to storage driver list --- templates/rabbitmq-3/2/rancher-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/rabbitmq-3/2/rancher-compose.yml b/templates/rabbitmq-3/2/rancher-compose.yml index e13e616..8568755 100755 --- a/templates/rabbitmq-3/2/rancher-compose.yml +++ b/templates/rabbitmq-3/2/rancher-compose.yml @@ -51,9 +51,10 @@ catalog: description: "The VOLUME driver to associate with this server" label: "VOLUME Driver" required: true - default: "rancher-nfs" + default: "local" type: enum options: # List of options if using type of `enum` + - local - rancher-nfs - rancher-efs - rancher-ebs From 281ef8b6828d38cbbcce0887d7a80ac4184db1e2 Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Thu, 27 Jul 2017 12:41:17 -0500 Subject: [PATCH 4/9] Changed version scheme --- templates/rabbitmq-3/2/rancher-compose.yml | 2 +- templates/rabbitmq-3/config.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/rabbitmq-3/2/rancher-compose.yml b/templates/rabbitmq-3/2/rancher-compose.yml index 8568755..4153b0a 100755 --- a/templates/rabbitmq-3/2/rancher-compose.yml +++ b/templates/rabbitmq-3/2/rancher-compose.yml @@ -1,7 +1,7 @@ version: '2' catalog: name: "Rabbit MQ" - version: "3.6-rancher0.2.1" + version: "0.2.1" decription: A reliable, distributed messaging broker questions: - variable: "erlang_cookie" diff --git a/templates/rabbitmq-3/config.yml b/templates/rabbitmq-3/config.yml index 5d3d836..80d25f7 100755 --- a/templates/rabbitmq-3/config.yml +++ b/templates/rabbitmq-3/config.yml @@ -1,5 +1,5 @@ name: RabbitMQ 3.6 description: | Robust messaging for applications -version: "3.6-rancher0.2.1" +version: "0.2.1" category: Message queues From 33a99554ae8726a0e167fc6d84587c0fb28df3cd Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Fri, 28 Jul 2017 08:28:00 -0500 Subject: [PATCH 5/9] Added rabbitMQ examples to test and demo rabbitMQ's various methods --- templates/rabbitmq-examples/0/README.md | 11 ++ .../rabbitmq-examples/0/docker-compose.yml | 171 ++++++++++++++++++ .../rabbitmq-examples/0/rancher-compose.yml | 38 ++++ .../catalogIcon-rabbitmq.png | Bin 0 -> 4090 bytes templates/rabbitmq-examples/config.yml | 7 + 5 files changed, 227 insertions(+) create mode 100644 templates/rabbitmq-examples/0/README.md create mode 100644 templates/rabbitmq-examples/0/docker-compose.yml create mode 100644 templates/rabbitmq-examples/0/rancher-compose.yml create mode 100755 templates/rabbitmq-examples/catalogIcon-rabbitmq.png create mode 100755 templates/rabbitmq-examples/config.yml diff --git a/templates/rabbitmq-examples/0/README.md b/templates/rabbitmq-examples/0/README.md new file mode 100644 index 0000000..a797d5a --- /dev/null +++ b/templates/rabbitmq-examples/0/README.md @@ -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. diff --git a/templates/rabbitmq-examples/0/docker-compose.yml b/templates/rabbitmq-examples/0/docker-compose.yml new file mode 100644 index 0000000..cbe638b --- /dev/null +++ b/templates/rabbitmq-examples/0/docker-compose.yml @@ -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}} diff --git a/templates/rabbitmq-examples/0/rancher-compose.yml b/templates/rabbitmq-examples/0/rancher-compose.yml new file mode 100644 index 0000000..1ad07d9 --- /dev/null +++ b/templates/rabbitmq-examples/0/rancher-compose.yml @@ -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 diff --git a/templates/rabbitmq-examples/catalogIcon-rabbitmq.png b/templates/rabbitmq-examples/catalogIcon-rabbitmq.png new file mode 100755 index 0000000000000000000000000000000000000000..f458f7f52aecea02277b92ee4e7a2bcb288d1a95 GIT binary patch literal 4090 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 literal 0 HcmV?d00001 diff --git a/templates/rabbitmq-examples/config.yml b/templates/rabbitmq-examples/config.yml new file mode 100755 index 0000000..a90ef55 --- /dev/null +++ b/templates/rabbitmq-examples/config.yml @@ -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 " +minimum_rancher_version: v0.59.0 From 59ee50391146957d30c5bfbfb5426e869c349367 Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Fri, 28 Jul 2017 08:32:53 -0500 Subject: [PATCH 6/9] tpl --- .../rabbitmq-examples/0/docker-compose.yml | 171 ------------------ 1 file changed, 171 deletions(-) delete mode 100644 templates/rabbitmq-examples/0/docker-compose.yml diff --git a/templates/rabbitmq-examples/0/docker-compose.yml b/templates/rabbitmq-examples/0/docker-compose.yml deleted file mode 100644 index cbe638b..0000000 --- a/templates/rabbitmq-examples/0/docker-compose.yml +++ /dev/null @@ -1,171 +0,0 @@ -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}} From 97e03837abc9b22c0114fd564cfd2de5b2140d42 Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Fri, 28 Jul 2017 11:43:51 -0500 Subject: [PATCH 7/9] Removed examples --- templates/rabbitmq-examples/0/README.md | 11 ----- .../rabbitmq-examples/0/rancher-compose.yml | 38 ------------------ .../catalogIcon-rabbitmq.png | Bin 4090 -> 0 bytes templates/rabbitmq-examples/config.yml | 7 ---- 4 files changed, 56 deletions(-) delete mode 100644 templates/rabbitmq-examples/0/README.md delete mode 100644 templates/rabbitmq-examples/0/rancher-compose.yml delete mode 100755 templates/rabbitmq-examples/catalogIcon-rabbitmq.png delete mode 100755 templates/rabbitmq-examples/config.yml diff --git a/templates/rabbitmq-examples/0/README.md b/templates/rabbitmq-examples/0/README.md deleted file mode 100644 index a797d5a..0000000 --- a/templates/rabbitmq-examples/0/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# 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. diff --git a/templates/rabbitmq-examples/0/rancher-compose.yml b/templates/rabbitmq-examples/0/rancher-compose.yml deleted file mode 100644 index 1ad07d9..0000000 --- a/templates/rabbitmq-examples/0/rancher-compose.yml +++ /dev/null @@ -1,38 +0,0 @@ -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 diff --git a/templates/rabbitmq-examples/catalogIcon-rabbitmq.png b/templates/rabbitmq-examples/catalogIcon-rabbitmq.png deleted file mode 100755 index f458f7f52aecea02277b92ee4e7a2bcb288d1a95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4090 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 diff --git a/templates/rabbitmq-examples/config.yml b/templates/rabbitmq-examples/config.yml deleted file mode 100755 index a90ef55..0000000 --- a/templates/rabbitmq-examples/config.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: RabbitMQ 3.6 Tutorial Examples -description: | - Robust messaging for applications Examples -version: 3.6-rancher1 -category: Message queues -maintainer: "Josh Cox " -minimum_rancher_version: v0.59.0 From 32471cd4c72fd388c470a8ac7b39fdc0abdb63d9 Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Fri, 28 Jul 2017 11:46:39 -0500 Subject: [PATCH 8/9] defaultcookie --- templates/rabbitmq-3/2/rancher-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/rabbitmq-3/2/rancher-compose.yml b/templates/rabbitmq-3/2/rancher-compose.yml index 4153b0a..1e9871e 100755 --- a/templates/rabbitmq-3/2/rancher-compose.yml +++ b/templates/rabbitmq-3/2/rancher-compose.yml @@ -8,7 +8,7 @@ catalog: description: "Erlang cookie required for auth" label: "Erlang cookie:" required: true - default: + default: "defaultcookie" type: "string" - variable: "cluster_partition_handling" label: "Partition Handling:" From 15f3daf9f59ef6bfcbdbdcdb6502e4b80f66708f Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Fri, 28 Jul 2017 11:49:45 -0500 Subject: [PATCH 9/9] Scale selection --- templates/rabbitmq-3/2/rancher-compose.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/templates/rabbitmq-3/2/rancher-compose.yml b/templates/rabbitmq-3/2/rancher-compose.yml index 1e9871e..1f809da 100755 --- a/templates/rabbitmq-3/2/rancher-compose.yml +++ b/templates/rabbitmq-3/2/rancher-compose.yml @@ -66,9 +66,16 @@ catalog: required: true default: "private=true" type: "string" + - variable: "initial_data_nodes" + type: "int" + required: true + label: "# of initial data nodes" + description: "Set the initial number of data nodes" + default: 1 services: rabbitmq: + scale: ${initial_data_nodes} metadata: rabbitmq: config: