Gump2 is configured in the <workspace/> just like Java-Gump was. Gump3 is currently configured through environment variables and the command line (sourcing a shell script for custom settings).
We should provide a logical and modern way to configure gump through
directories where you can safely store configuration data related to the machine or the environment (ie, database to use, JAVA_HOME to use, ...).
A nice example of an application with flexible configuration support is exim, another one is spamassassin, yet another one is apache2 as provided for debian. Things I would like to see:
- conf.d directories to allow spliting config
- per-profile config as well as per-machine config
- use python's features as much as possible for config features and intelligence
- installation of default config files with lots of comments so no RTFM is needed
One advantage of the gump3 "gump" script is that it has no particular trouble firing up jetty (for dynagump) or apache (for webgump). We really need to keep that flexibility, meaning it might make sense to have the configuration parsing set up almost totally seperately from the rest of gump. We could even consider something that reads the environment and the config files and then generates a really-long-commandline or temporary-shell-script. It could be a reusable python tool
Or maybe that's a bad idea. We'll see.