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

Investigate our coupling to RabbitMQ Community docker entry point script #340

Closed
Zerpet opened this issue Sep 15, 2020 · 5 comments
Closed

Comments

@Zerpet
Copy link
Collaborator

Zerpet commented Sep 15, 2020

Problem statement

We rely on some behaviour implemented in RabbitMQ Community Docker entry point script. One example is the templating of the default username and password via environment variables e.g. RABBITMQ_DEFAULT_PASS_FILE. By relying on this script, we (and any user) are unable to switch to a different RabbitMQ docker image.

Expected outcome

In this issue we will track the investigation to determine how much and on what points we rely on the docker entry point script, and propose changes to address this coupling. If the changes required are small enough, they can be implemented as part of this issue.

@coro coro self-assigned this Sep 15, 2020
@coro coro added this to To do in RabbitMQ Cluster Kubernetes Operator via automation Sep 15, 2020
@coro coro moved this from To do to In progress in RabbitMQ Cluster Kubernetes Operator Sep 15, 2020
@gerhard
Copy link
Contributor

gerhard commented Sep 16, 2020

FWIW, the Docker entry point script will be going away: docker-library/rabbitmq#424

This is how we handle the default user in the "other" RabbitMQ Docker image. There is a related TODO which @coro just reminded me to follow-up on. Thanks 👍🏻

@coro
Copy link
Contributor

coro commented Sep 16, 2020

I've investigated the entrypoint script, and the only behaviour we rely on from it is the default user/password configuration. It should be fairly simple to transition this to a mounted configMap/.conf file, and so I'll do this as part of this issue.

@gerhard
Copy link
Contributor

gerhard commented Sep 16, 2020

It would be great for the public RabbitMQ Docker image to have the same behaviour. Is this potential PR to https://github.com/docker-library/rabbitmq/ in scope?

For more context, read why now is a great time to start breaking down docker-entrypoint.sh functionality into sysctl config fragments: docker-library/rabbitmq#422 (comment)

A separate but somewhat related functionality that will require a different approach to using env vars in the Docker image: rabbitmq/rabbitmq-cli#443. Hint: --erlang-cookie

cc @tianon @michaelklishin

@Zerpet
Copy link
Collaborator Author

Zerpet commented Sep 17, 2020

The PR for this issue will very likely be specific to the Operator and Kubernetes. That doesn't mean that we can't consider a contribution to the public RabbitMQ Docker image with our learning from this issue 😄

@coro
Copy link
Contributor

coro commented Sep 17, 2020

The PR for this issue will very likely be specific to the Operator and Kubernetes. That doesn't mean that we can't consider a contribution to the public RabbitMQ Docker image with our learning from this issue 😄

On it: docker-library/rabbitmq#440

Tried to keep it as consistent as possible across the two repos (i.e. credentials in /etc/rabbitmq/conf.d/default_user.conf, as is the case in the commercial RMQ image)

@MirahImage MirahImage moved this from In progress to Done in RabbitMQ Cluster Kubernetes Operator Sep 29, 2020
@MirahImage MirahImage moved this from Done to In progress in RabbitMQ Cluster Kubernetes Operator Sep 29, 2020
RabbitMQ Cluster Kubernetes Operator automation moved this from In progress to Done Sep 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

No branches or pull requests

4 participants