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.