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.ezThis 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!