From 72a3be4ce072f400cd3dd2e17db89e681936d8c7 Mon Sep 17 00:00:00 2001 From: James Rose Date: Tue, 13 Sep 2022 16:49:00 +0100 Subject: [PATCH] Configure Sidekiq and Rack::Attack to use dedicated Redis instance in PaaS environments --- .rubocop.yml | 7 +++++++ config/initializers/rack_attack.rb | 2 +- config/initializers/sidekiq.rb | 11 +++++++++++ manifest.yml | 4 ++-- 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 config/initializers/sidekiq.rb diff --git a/.rubocop.yml b/.rubocop.yml index cf0c1e933..059bc2a84 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -20,3 +20,10 @@ AllCops: Style/Documentation: Enabled: false + +Rails/UnknownEnv: + Environments: + - production + - staging + - development + - test diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb index 3bfcff86b..bc484e77a 100644 --- a/config/initializers/rack_attack.rb +++ b/config/initializers/rack_attack.rb @@ -5,7 +5,7 @@ if Rails.env.development? || Rails.env.test? Rack::Attack.cache.store = ActiveSupport::Cache::MemoryStore.new Rack::Attack.enabled = false else - redis_url = Configuration::PaasConfigurationService.new.redis_uris[:"dluhc-core-#{Rails.env}-redis-rate-limit"] + redis_url = Configuration::PaasConfigurationService.new.redis_uris[:"dluhc-core-#{Rails.env}-redis"] Rack::Attack.cache.store = ActiveSupport::Cache::RedisCacheStore.new(url: redis_url) end diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb new file mode 100644 index 000000000..4db5237e4 --- /dev/null +++ b/config/initializers/sidekiq.rb @@ -0,0 +1,11 @@ +if Rails.env.staging? || Rails.env.production? + redis_url = Configuration::PaasConfigurationService.new.redis_uris[:"dluhc-core-#{Rails.env}-redis"] + + Sidekiq.configure_server do |config| + config.redis = { url: redis_url } + end + + Sidekiq.configure_client do |config| + config.redis = { url: redis_url } + end +end diff --git a/manifest.yml b/manifest.yml index f84feb810..6832f279a 100644 --- a/manifest.yml +++ b/manifest.yml @@ -21,7 +21,7 @@ applications: RAILS_ENV: staging services: - dluhc-core-staging-postgres - - dluhc-core-staging-redis-rate-limit + - dluhc-core-staging-redis - name: dluhc-core-production <<: *defaults @@ -35,4 +35,4 @@ applications: host: submit-social-housing-lettings-sales-data services: - dluhc-core-production-postgres - - dluhc-core-production-redis-rate-limit + - dluhc-core-production-redis