testcontainers / testcontainers-java

Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
https://testcontainers.org
MIT License
8.04k stars 1.66k forks source link

hivemq > improve "temp-extensions" workaround #9501

Open SgtSilvio opened 2 weeks ago

SgtSilvio commented 2 weeks ago

To support the withoutPrepackagedExtensions methods of the HiveMQContainer, we (HiveMQ) initially built in a workaround that copies extensions into /opt/hivemq/temp-extensions/ instead of /opt/hivemq/extensions/ and modifies the container entrypoint and command to move the extensions into their right place.

We have some upcoming changes to the HiveMQ container images that will remove the need for the withoutPrepackagedExtensions methods in most cases. This change applies the workaround only if any of the withoutPrepackagedExtensions methods are called.

This change also makes it easier to use the withCopyToContainer method with a Transferable argument to copy files into an HiveMQ extension's folder by just specifying /opt/hivemq/extensions/ as containerPath without needing to know about any implementation details. Currently, one is limited to methods like withFileInExtensionHomeFolder that apply the "temp-extensions" workaround internally, but these methods only support MountableFile arguments.

SgtSilvio commented 2 weeks ago

Is there any way we can get merge rights if we just touch the hivemq module?

SgtSilvio commented 9 hours ago

@eddumelendez Who should we talk to if we want to become code owners/maintainers of the hivemq module?