Add a configuration framework

It is necessary to store credentials outside the code, configuration options need to be explored, implemented and documented.