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

RabbitMQ Backend - Manage secrets across multiple clients #2680

Open
reid-harrison opened this issue May 5, 2017 · 4 comments
Open

RabbitMQ Backend - Manage secrets across multiple clients #2680

reid-harrison opened this issue May 5, 2017 · 4 comments

Comments

@reid-harrison
Copy link

Currently, only one connection URI is configured for the RabbitMQ backend: https://www.vaultproject.io/docs/secrets/rabbitmq/#quick-start

For my RabbitMQ architecture, several clusters are managed with the same secrets. For this type of setup, Vault cannot be used to manage secrets across multiple RabbitMQ hosts/clusters.

It would be great if the RabbitMQ backend could be enhanced to allow the configuration of multiple connection URIs (comma separated?) and then Vault will manage the same secrets and leases across all of the supplied hosts.

With my architecture, eventual consistency of RabbitMQ secrets is acceptable.

Is this kind of enhancement feasible? I would be happy to contribute the changes but I understand there would be some concurrency and availability considerations.

@ghost
Copy link

ghost commented May 5, 2017

@reid-harrison can you add more detail around why the same secrets are managed for multiple independent clusters?

@reid-harrison
Copy link
Author

reid-harrison commented May 5, 2017

Sure, thanks for asking, @pantocrator27 !

These clusters are deployed in the cloud - cross region and cross AZ (1 cluster per AZ, nodes are not clustered across AZs). RabbitMQ producers connect to any of these clusters [randomly] through a load balancer. The producer is unaware of which cluster it connects to so all clusters are configured with the same secrets so that producers can connect through the LB using the correct Rabbit credentials.

This deployment strategy is designed for resiliency/availability and there is no cluster-specific state. I hope this makes sense. I am open to hearing thoughts on this or any other approach.

@roche-d
Copy link

roche-d commented Jan 23, 2018

Hi,

Same use case for the same reasons here, multiple RabbitMQ connections would be greatly appreciated !

Thanks

@gokuatkai
Copy link

gokuatkai commented Dec 10, 2019

Hi, I also maintain many rabbitmq servers and I am using the secret engine as follow:

vault secrets enable -path=some-rabbitmq-server.domain.com rabbitmq
vault secrets enable -path=other-rabbitmq-server.domain.com rabbitmq
vault secrets enable -path=yet-another-rabbitmq-server.domain.com rabbitmq
# etc..

hope it helps meanwhile.

EDIT: Just realized you need to 'replicate' secrets across the clusters, my mistake

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants