Skip to content
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

feat(rabbitmq_bridge): add TLS support #11363

Merged
merged 1 commit into from
Jul 28, 2023

feat(rabbitmq_bridge): add TLS support

399f849
Select commit
Failed to load commit list.
Merged

feat(rabbitmq_bridge): add TLS support #11363

feat(rabbitmq_bridge): add TLS support
399f849
Select commit
Failed to load commit list.
Deleted GitHub App / Copilot for PRs succeeded Jul 27, 2023 in 1m 7s

Analysis complete

Summary

This pull request adds TLS support for the emqx_bridge_rabbitmq application, which enables secure communication between the emqx broker and the rabbitmq broker. It defines the SSL options in the schema, converts them to the amqp_client format, and updates the test suite and the docker-compose file accordingly. It also bumps the version of the application and adds a changelog entry.

Walkthrough

  • Add TLS support for the rabbitmq bridge (link, link, link, link, link, link, link, link, link, link)
  • Update the version of the emqx_bridge_rabbitmq application to 0.1.4 (link)
  • Add the SSL fields to the schema of the emqx_bridge_rabbitmq_connector using the emqx_connector_schema_lib module (link)
  • Modify the function that creates the rabbitmq connection options from the connector configuration to handle the SSL options using the emqx_tls_lib module (link)
  • Add the volumes section to the rabbitmq service in the docker-compose-rabbitmq.yaml file to mount the certificates and the TLS configuration file from the host to the container (link)
  • Create the TLS configuration file for the rabbitmq service in the .ci/docker-compose-file/rabbitmq/20-tls.conf file (link)
  • Restructure the common test suite for the emqx_bridge_rabbitmq application to introduce two groups of test cases: tcp and tls (link)
  • Modify the function that sets up the rabbitmq exchange and queue for the test cases to use the connection options from the group configuration and the certificates from the certs directory (link)
  • Rename the end_per_suite function to end_per_group and update the calls to this function in the test cases (link)
  • Remove the all function from the test suite and update the calls to this function in the test cases (link)
  • Add a changelog entry for the new feature in the changes/ee/feat-11363.en.md file (link)

Poem

We bridge the gap with rabbitmq
We secure the data with TLS
We face the doom of the network
We update and test with finesse

Emoji

🔒🐰🌉

Include these descriptions in your pull request description by including the following marker tags:

  • copilot:all: all the content, in one go
  • copilot:summary: a one paragraph summary of the code changes
  • copilot:walkthrough: a step by step walkthrough of the code changes
  • copilot:poem: a poem about the code changes!
  • copilot:emoji: three emoji that capture the changes

Feedback is welcome. Simply add a comment to this PR of the form /copilot feedback [your comments here].

Details

Copilot for PRs is a limited technical preview from GitHub Next.

It's aim is to make it easier to write pull request descriptions by providing automatically generated suggestions based on the code changes.

To find out more go to https://githubnext.com/projects/copilot-for-pull-requests or come and chat with us on Discord

Progress:

File Status Duration
.ci/docker-compose-file/docker-compose-rabbitmq.yaml ✅ Finished 38.3 seconds
.ci/docker-compose-file/rabbitmq/20-tls.conf ✅ Finished 38.3 seconds
Summary & Walkthrough ✅ Finished 66.3 seconds
apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq.app.src ✅ Finished 38.3 seconds
apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq_connector.erl ✅ Finished 40.4 seconds
apps/emqx_bridge_rabbitmq/test/emqx_bridge_rabbitmq_SUITE.erl ✅ Finished 40.7 seconds
changes/ee/feat-11363.en.md ✅ Finished 38.3 seconds