I'm curious...what is the reasoning (if any) behind not supporting the RABBITMQ_CONFIG_FILE environment variable allowing the full file name with the file extension?
From the documentation
The path to the configuration file, without the .config extension.
This is not a typical convention or not one I'm familiar with. It has caught me a few times when testing out configs locally because if the variable points to the full filename, the broker just starts up with the default configuration and a message that the file pointed to by the environment variable was not found even if the file is indeed present.
For example,
1. set RABBITMQ_CONFIG_FILE=/etc/rabbitmq/rabbitmq.config
2. place the config file at that location (/etc/rabbitmq/rabbitmq.config) and start the broker
The broker will start up with a message saying that /etc/rabbitmq/rabbitmq.config was not found and that it is using the default configuration.
Set the variable to /etc/rabbitmq/rabbitmq and the broker will find and parse it.
It almost seems better to me to require supporting the full file path with extension rather than without it. Explicit is better than implicit and is more conventional.
In fact, I'm not sure why the file extension really matters all that much if it's pointed to by the environment variable...the process should just attempt to read whatever file is pointed to, no?