eiffel-community / eiffel-gerrit-herald

Service for emitting Eiffel messages over RabbitMQ, triggered by Gerrit events.
Apache License 2.0
3 stars 2 forks source link

Property file path should be configurable #3

Closed magnusbaeck closed 4 years ago

magnusbaeck commented 4 years ago

Description

The configuration properties are currently only loaded from a config.properties file in the jar file's resources (via getResourceAsStream()). There doesn't seem to be a way to externalize this file, i.e. the only way to change the default configuration (something all users will do) is to rebuild the jar file to include the desired configuration. This might be acceptable if you're following the readme file's instruction of cloning the git, modifying the configuration, and running docker-compose up, but that's not how most sites prefer to operate things.

There should be a way to load the properties from an alternate file. A common pattern is to read a system property that contains the file path (or URL) of the property file to load.

Motivation

Storing configuration files in the file system rather than welding them into the executable binary is standard practice for most production deployments.

Benefits

Eiffel Gerrit Herald would be a more viable option for users.

Possible Drawbacks

None.