This commit adds the ability to provide a config file in different ways:
The following options are given in the order in which they are checked:
1. A config file path passed by the -c parameter on the command line
2. A config file path passed by the HS_CONFIGFILE environment variable
3. A config.json file in the application root
Should these fail we try to get the parameters for the config struct
directly from environment variables or secret files as used in a
container environment. As example the JwtKey can be supplied by either
passing the value through:
* An environment variable HS_CONFIG_JWTKEY which contains the value directly
* An environment variable HS_CONFIG_JWTKEY_FILE which contains a path
pointing to the Secret File
This commits adds a .gitignore file which will prevent committing of:
* Files referenced in Go.gitignore
* VisualStudioCode specific files (.vscode, ...)
* Windows specific files (ie thumbs.db)
* SQLite Databases