Skip to content

Support for MQTT plugin #85

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ script:
- ~/official-images/test/run.sh "$image"
- docker build -t "$image:management" management
- ~/official-images/test/run.sh "$image:management"
- docker build -t "$image:mqtt" mqtt
- ~/official-images/test/run.sh "$image:mqtt"

after_script:
- docker images
Expand Down
31 changes: 30 additions & 1 deletion docker-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -253,12 +253,41 @@ if [ "$1" = 'rabbitmq-server' ] && [ "$haveConfig" ]; then
'{ ssl, false }'
)
fi

fullConfig+=(
"{ rabbitmq_management, $(rabbit_array "{ listener, $(rabbit_array "${rabbitManagementListenerConfig[@]}") }") }"
)
fi

# If mqtt plugin is installed, then generate config consider this
if [ "$(rabbitmq-plugins list -m -e rabbitmq_mqtt)" ]; then
IFS=$'\n'
rabbitMqttConfig+=( $(rabbit_env_config '' "${rabbitConfigKeys[@]}") )
unset IFS

rabbitMqttConfig+=(
'{ exchange, <<"amq.topic">> }'
'{ allow_anonymous, true }'
'{ subscription_ttl, 86400000 }'
'{ prefetch, 10 }'
'{ tcp_listen_options, [{backlog, 128}, {nodelay, true}] }'
)
if [ "$haveSslConfig" ]; then
rabbitMqttConfig+=(
"{ tcp_listeners, $(rabbit_array) }"
"{ ssl_listeners, $(rabbit_array 8883) }"
"{ ssl_options, $(rabbit_array "${rabbitSslOptions[@]}") }"
)
else
rabbitMqttConfig+=(
"{ tcp_listeners, $(rabbit_array 1883) }"
"{ ssl_listeners, $(rabbit_array) }"
)
fi
fullConfig+=(
"{ rabbitmq_mqtt, $(rabbit_array "${rabbitMqttConfig[@]}") }"
)
fi

echo "$(rabbit_array "${fullConfig[@]}")." > /etc/rabbitmq/rabbitmq.config
fi

Expand Down
2 changes: 1 addition & 1 deletion generate-stackbrew-library.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ cat <<-EOE
GitCommit: $commit
EOE

for variant in management; do
for variant in management mqtt; do
commit="$(dirCommit "$variant")"

variantAliases=( "${versionAliases[@]/%/-$variant}" )
Expand Down
2 changes: 1 addition & 1 deletion management/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rabbitmq
FROM robertobarreda/rabbitmq

RUN rabbitmq-plugins enable --offline rabbitmq_management

Expand Down
7 changes: 7 additions & 0 deletions mqtt/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM robertobarreda/rabbitmq

RUN rabbitmq-plugins enable --offline rabbitmq_management
RUN rabbitmq-plugins enable --offline rabbitmq_mqtt

EXPOSE 15671 15672
EXPOSE 1883 8883