* Reworked project layout
* adjusted Makefile for new folder structure
* fixed path errors
* Fixed test import paths
* fixes
* only pushing image to the docker hub if the branch is master
* Clean up redis configuration
- put redis configs into their own struct
- put a redisConf struct into the default config so that envstruct
will populate it
- allow tweaking of retry, db index and read/write timeout settings
- update example config.yaml
This is potentially a breaking change for anyone who's been using
the redis backend already, but maybe that's just me? :)
* fix struct tags and s/Db/DB/
* remove unnecessary declarations
* Add config option to disable log coloration
Color logs are great in person, but not so awesome when you're trying
to view them in a log aggregation services e.g. splunk, stackdriver,
ELK, etc.
* dump running config to log on startup
* init config before testing
...and use a temporary directory for config_test, lest the presence
of a local one cause confusing test results.
Rather than directly fetching and verifying OAuth assertions, assume
that the app is running behind an authenticating proxy, and trust
headers that are set by the proxy.
- add config support for an "authbackend" directive, supporting either
"oauth" or "proxy" as values; the "proxy" setting selects our new codepath
- add initProxyAuth and proxyAuthMiddleware methods to the Handler struct
- rename authMiddleWare to oAuthMiddleware in the Handler struct
- construct a faked auth.JWTClaims object when in proxy mode
- update Handler.handleAuthCheck() to return useful info in proxy mode
- add a fallback user icon for proxy mode
- implement check for proxy mode in index.js
See for example and reference:
https://cloud.google.com/iap/docs/identity-howtohttps://cloud.google.com/beyondcorp/
- add a redis store implementing stores.Storage
- add config file support to pick a storage backend
- add config file support to set redis host:port and password
- add docker_releases to .gitignore
- update README to mention redis support
- update example config.yaml