canvas-lms/docker-compose/config
Cody Cutrer 88a5803982 bundle update redis
closes AE-494

[skip-stages=Flakey]
[skip-crystalball]

several things going on here. in general, many of our monkeypatches
have been implemented in upstream, but in a vastly different way, so
we need to enable/configure those things

 * `servers` is no longer accepted as a backwards compatible
   configuration option; use `url`
 * `database` is no longer accepted as a backwards compatible
   configuration option; you _can_ use `db`, but preferable to
   just use `url`
 * no longer merge together redis.yml and cache_store.yml; if one
   references the other, simply use the config from the other
 * `nil_store` is no longer accepted as a backwards compatible
   configuration option; use `null_store` (almost no one should
   be explicitly using this anyway, so nbd)
 * automatically not-even-trying when redis has previously failed
   is now handled by redis-client's circuit breaker. be sure to
   configure it in redis.yml/cache_store.yml/dynamic settings
 * ignoring redis failures completely is already done by
   RedisCacheStore; just rely on that, except for the few cases
   where we use redis directly. some of these now take advantage
   of a new `failsafe` kwarg (and often in combination with
   pipelining), and some just handle it directly
 * move logging to a RedisClient middleware
 * move Twemproxy disallowed commands to a RedisClient middleware
 * simplify Canvas.lookup_cache_store to have far less special casing
   (in particular, patching is done automatically now)
 * add ability to use Redis::Cluster (configure with `nodes` instead
   of `url`)
 * still override Redis::Distributed's HashRing, so that we don't
   change our ring layout with the new MD5 hashing for servers. but
   we got to vastly simplify the new class, due to upstream
   refactorings allowing us to simply override a single method rather
   than having to re-implement the entire class
 * statsd reporting of redis errors is now simply passed as a callback
   to RedisCacheStore, breaking CanvasCache's dependency on InstStatsd

Change-Id: I787672677a21994d40ae304dbac0fbf3a960a779
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325641
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-09-28 15:49:47 +00:00
..
new-jenkins use vault role instead of hard coded access key / secret 2023-05-08 14:59:54 +00:00
cache_store.yml use rails built-in RedisCacheStore 2019-08-09 20:22:56 +00:00
cassandra.yml Remove auditor cassandra support 2023-04-03 15:40:22 +00:00
consul.yml switch LiveEvents config to use a single Consul key 2023-07-12 14:53:08 +00:00
database.yml Fix database.yml 2020-05-01 20:37:14 +00:00
delayed_jobs.yml docker-compose based dev environment 2015-03-30 20:59:48 +00:00
domain.yml docker enhancements/fixes, fixes SD-2499, refs gh-1043 2017-05-26 20:57:24 +00:00
dynamic_settings.yml Update to read inst-fs config from Vault 2023-07-18 16:36:54 +00:00
outgoing_mail.yml docker enhancements/fixes, fixes SD-2499, refs gh-1043 2017-05-26 20:57:24 +00:00
redis.yml bundle update redis 2023-09-28 15:49:47 +00:00
security.yml LTI 1.3: Add security claims and sign with Canvas private key 2018-08-09 21:33:03 +00:00
selenium.yml Upgrade to Selenium 4 2022-03-09 15:28:31 +00:00
vault.yml Add vault client to canvas 2020-02-03 19:00:13 +00:00