Make workhorse Redis-aware
To alleviate the load on Rails ( https://gitlab.com/gitlab-org/gitlab-ce/issues/21698 ) we want to make Workhorse listen for new builds over Redis PubSub for X
seconds ( https://gitlab.com/gitlab-org/gitlab-ce/issues/21698#note_19722633 point 3 for full description).
Current Questions \o/
- Redis Configs, how do we (safely) get redis credentials into Workhorse.
Currently the only way to configure Workhorse is cmdline arguments, which is extremely unsafe when passing passwords (redis uses authentication) @jacobvosmaer-gitlab proposed making a redis-config-endpoint in Rails where workhorse can ask for credentials. As long as it is locked down to workhorse and not made public I don't have any issues with that. - Metrics!
Workhorse has Prometheus-support, obviously we want metrics, but what kind of metrics?- Cache-hit/miss was mentioned for new ETAGs-thingie for realtime-stuff
- Which Redis-lib? -- https://github.com/garyburd/redigo
There are a few different redis-libs out there for Golang, some better than others... The only criteria we could come up with was "Github stars and features", does anyone else have a better criteria?😂 @nick.thomas Jacob mentioned that you might know of one?