From b0f1b71779c64e6e7fa7aefc2737f38009ddf1a1 Mon Sep 17 00:00:00 2001 From: Gabriel Simmer Date: Fri, 15 Mar 2024 22:47:32 +0000 Subject: [PATCH] Add redis ports internally, append comma if we've resolved IPs --- .devcontainer/docker-compose-redis-sentinel.yml | 4 ++++ app/lib/redis_configuration.rb | 3 ++- lib/mastodon/redis_config.rb | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.devcontainer/docker-compose-redis-sentinel.yml b/.devcontainer/docker-compose-redis-sentinel.yml index 7d6eb0589f..9f904f9bf8 100644 --- a/.devcontainer/docker-compose-redis-sentinel.yml +++ b/.devcontainer/docker-compose-redis-sentinel.yml @@ -52,6 +52,8 @@ services: - REDIS_PASSWORD=str0ng_passw0rd networks: - internal_network + ports: + - '6379:6379' redis-replica: image: 'bitnami/redis:latest' environment: @@ -61,6 +63,8 @@ services: - REDIS_PASSWORD=str0ng_passw0rd networks: - internal_network + ports: + - '6379:6379' redis-sentinel: image: 'bitnami/redis-sentinel:latest' environment: diff --git a/app/lib/redis_configuration.rb b/app/lib/redis_configuration.rb index 90c757e2b5..7579ff2211 100644 --- a/app/lib/redis_configuration.rb +++ b/app/lib/redis_configuration.rb @@ -53,8 +53,9 @@ class RedisConfiguration unless ENV['REDIS_SENTINEL'].include? ',' ips = Resolv.getaddresses(ENV['REDIS_SENTINEL']) + port = ENV.fetch('REDIS_SENTINEL_PORT', '26379') + ENV['REDIS_SENTINEL'] = ips.map do |ip| - port = ENV.fetch('REDIS_SENTINEL_PORT', '26379') "#{ip}:#{port}" end.join(',') end diff --git a/lib/mastodon/redis_config.rb b/lib/mastodon/redis_config.rb index 09fa835e49..a286edc09f 100644 --- a/lib/mastodon/redis_config.rb +++ b/lib/mastodon/redis_config.rb @@ -34,7 +34,7 @@ def setup_redis_env_url(prefix = nil, defaults = true) ENV["#{prefix}REDIS_SENTINEL"] = ips.map do |ip| "#{ip}:#{port}" - end.join(',') + end.join(',').concat(',') end ENV["#{prefix}REDIS_URL"] = "redis://:#{password}@#{sentinel_master}"