{"action":"created","issue":{"url":"https://api.github.com/repos/docker-library/rabbitmq/issues/76","repository_url":"https://api.github.com/repos/docker-library/rabbitmq","labels_url":"https://api.github.com/repos/docker-library/rabbitmq/issues/76/labels{/name}","comments_url":"https://api.github.com/repos/docker-library/rabbitmq/issues/76/comments","events_url":"https://api.github.com/repos/docker-library/rabbitmq/issues/76/events","html_url":"https://github.com/docker-library/rabbitmq/issues/76","id":140748294,"number":76,"title":"Ability to specify arbitrary config file variables is needed","user":{"login":"CVTJNII","id":13871930,"avatar_url":"https://avatars.githubusercontent.com/u/13871930?v=3","gravatar_id":"","url":"https://api.github.com/users/CVTJNII","html_url":"https://github.com/CVTJNII","followers_url":"https://api.github.com/users/CVTJNII/followers","following_url":"https://api.github.com/users/CVTJNII/following{/other_user}","gists_url":"https://api.github.com/users/CVTJNII/gists{/gist_id}","starred_url":"https://api.github.com/users/CVTJNII/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CVTJNII/subscriptions","organizations_url":"https://api.github.com/users/CVTJNII/orgs","repos_url":"https://api.github.com/users/CVTJNII/repos","events_url":"https://api.github.com/users/CVTJNII/events{/privacy}","received_events_url":"https://api.github.com/users/CVTJNII/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-03-14T17:53:06Z","updated_at":"2016-10-17T14:54:23Z","closed_at":null,"body":"RabbitMQ currently supports many more tunables in the config file then the entrypoint script supports:\r\n\r\nhttps://www.rabbitmq.com/configure.html\r\n\r\nThe current entrypoint script paints things into a corner somewhat due to it's handling of some of the arguments (SSL, namely), assumptions about argument formatting of arguments by wrapping them in '<<\"${val}\">>', and the general nested format of the Rabbit config.\r\n\r\nI believe the ability to set these variables is going to be a requirement for many users, especially for the settings [documented in the production checklist](https://www.rabbitmq.com/production-checklist.html).  Unfortunately, I also believe that the complexity of the rabbitmq config file is too much for a simple bash script.\r\n\r\nI propose a script that can build an hash of the default configs that the script currently builds, and that can then merge in a hash of user defined options.  This would allow the script to continue maintain the settings it does now, and thereby maintain existing functionality, while also exposing the full config to the user so that they can perform any tuning needed for their environment.\r\n\r\nI'm curious what others think of this idea and if others have other solutions in mind."},"comment":{"url":"https://api.github.com/repos/docker-library/rabbitmq/issues/comments/254231102","html_url":"https://github.com/docker-library/rabbitmq/issues/76#issuecomment-254231102","issue_url":"https://api.github.com/repos/docker-library/rabbitmq/issues/76","id":254231102,"user":{"login":"jonapich","id":5009356,"avatar_url":"https://avatars.githubusercontent.com/u/5009356?v=3","gravatar_id":"","url":"https://api.github.com/users/jonapich","html_url":"https://github.com/jonapich","followers_url":"https://api.github.com/users/jonapich/followers","following_url":"https://api.github.com/users/jonapich/following{/other_user}","gists_url":"https://api.github.com/users/jonapich/gists{/gist_id}","starred_url":"https://api.github.com/users/jonapich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonapich/subscriptions","organizations_url":"https://api.github.com/users/jonapich/orgs","repos_url":"https://api.github.com/users/jonapich/repos","events_url":"https://api.github.com/users/jonapich/events{/privacy}","received_events_url":"https://api.github.com/users/jonapich/received_events","type":"User","site_admin":false},"created_at":"2016-10-17T14:54:23Z","updated_at":"2016-10-17T14:54:23Z","body":"We used the environment variables approach to configure our RabbitMQ servers for SSL, which works well. Now I have to plug in LDAP authentication support, which can only configured through a config file. Unfortunately, because of the SSL options, the entrypoint's script will override my rabbitmq.config file with the SSL stuff.\r\n\r\nUsing dotted notation, it would be possible to provide rabbitmq with additional stuff to add the configuration. I think the OP's solution is better (updating my config file with the differences instead of overriding it), but an alternative would be to be able to provide config nodes to the SH script through dotted environment variables.\r\n\r\ne.g.:\r\n\r\n`RABBITMQ_CONFIG.rabbitmq_auth_backend_ldap.servers = [\"server1\", \"server2\"]`\r\n\r\nor:\r\n\r\n`RABBITMQ_CONFIG.rabbitmq_auth_backend_ldap.servers.0 = server1`\r\n`RABBITMQ_CONFIG.rabbitmq_auth_backend_ldap.servers.1 = server2`\r\n\r\nand so on.\r\n\r\nMeanwhile, is there any acceptable workaround that won't force me to operate all of the entrypoint's SSL mechanics within my configuration manager?"}}
{"actor":{"display_login":"jonapich"}}