Goal: Prepare a values.yaml
file for the rabbitmq chart provided by bitnami, such that the plugin rabbitmq-message-deduplication is ready and available after running helm install ...
Previous solution: Currently, I am using the stable/rabbitmq-ha
chart with the following values.yaml
:
extraPlugins: "rabbitmq_message_deduplication"
extraInitContainers:
- name: download-plugins
image: busybox
command: ["/bin/sh","-c"]
args: ["
wget
-O /opt/rabbitmq/plugins/elixir-1.8.2.ez/elixir-1.8.2.ez
https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/elixir-1.8.2.ez
--no-check-certificate
;
wget
-O /opt/rabbitmq/plugins/rabbitmq_message_deduplication-v3.8.4.ez/rabbitmq_message_deduplication-v3.8.4.ez
https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/rabbitmq_message_deduplication-v3.8.x_0.4.5.ez
--no-check-certificate
"]
volumeMounts:
# elixir is a dependency of the deduplication plugin
- name: elixir
mountPath: /opt/rabbitmq/plugins/elixir-1.8.2.ez
- name: deduplication-plugin
mountPath: /opt/rabbitmq/plugins/rabbitmq_message_deduplication-v3.8.4.ez
extraVolumes:
- name: elixir
emptyDir: {}
- name: deduplication-plugin
emptyDir: {}
extraVolumeMounts:
- name: elixir
mountPath: /opt/rabbitmq/plugins/elixir-1.8.2.ez
subPath: elixir-1.8.2.ez
- name: deduplication-plugin
mountPath: /opt/rabbitmq/plugins/rabbitmq_message_deduplication-v3.8.4.ez
subPath: rabbitmq_message_deduplication-v3.8.4.ez
This works A-OK. However, stable/rabbitmq-ha
is going to disappear next month and so I'm migrating to bitnami/rabbitmq
.
Problem: bitnami/rabbitmq
expects values.yaml
in a different format and I can't for the life of me figure out how I should set up a new values.yaml
file to achieve the same result. I've tried messing around with command
, args
and initContainers
but I just can't get it done...
P.S. I have a cluster running locally using minikube. I don't believe this is relevant, but putting this here just in case.
UPDATE: Francisco's answer really helped. Somehow I missed that part of the documentation.
My new .yaml
looks like this:
communityPlugins: "https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/elixir-1.8.2.ez https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/rabbitmq_message_deduplication-v3.8.x_0.4.5.ez"
extraPlugins: "rabbitmq_message_deduplication"
It gets the plugin working just like I wanted, and with much less configuration. Good stuff.
Thanks for choosing our chart! Our [bitnami/rabbitmq] chart uses the parameter communityPlugins
to install new plugins and extraPlugins
to enable them. For example, to enable the elixir
plugin you could try changing values.yaml
to:
communityPlugins: "https://github.com/noxdafox/rabbitmq-message-deduplication/releases/download/0.4.5/elixir-1.8.2.ez"
extraPlugins: "rabbitmq_auth_backend_ldap elixir"
For more information, please look into the Plugin section in our README and ask any more doubts if you need to!