anycable-core 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 43353c30169b14234846a634a2f6e2cf9b8c205725752fcc9de78ed088e2432a
4
- data.tar.gz: aa0b65f611dd8598b230d152f4b51ddfbdbd92c020081d957ab3f18179c6623f
3
+ metadata.gz: 5e9ba8037b7cbd766d021b4e88d49101b6dc3e9a5a6b355929bf9aaa8494f33a
4
+ data.tar.gz: 71cd40b2380601f322a335d774cfb41e39f8de6ac29f4b5201a825119bff1031
5
5
  SHA512:
6
- metadata.gz: 6fc3a9531075ec9da6ba4c7dc0e2e00f863829930f80a8b794e40aad13215db134c6195619d272188032502c6ae123f3567d781168580e1eb718d200042910b3
7
- data.tar.gz: b7d91672f1976952a40315d92956f0d5970947e89d85e6e94a31240e3428e63c56093c173236ef46f25f5da47d5030cfd5576cdce8c248600a9959ceaa5e8145
6
+ metadata.gz: f1a372e6d70eb1db64054aeafcc3baccd674d679652309526fbcfe9329799383b671d532cd16a52dd53b00b4a1658100d000f4564f2cbaac00502e02da00b668
7
+ data.tar.gz: 5d9434268c8d7b3903544ab357caadcb69150be82d921c2de2916f4191b1280c0c3b981de285425d969bd1693b02974be4a844447576e3975ed0280c877be3c0
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## master
4
4
 
5
+ ## 1.2.5 (2022-12-01)
6
+
7
+ - Add `ANYCABLE_REDIS_TLS_VERIFY` setting to disable validation of Redis server TLS certificate. ([@Envek][])
8
+
5
9
  ## 1.2.4 (2022-08-10)
6
10
 
7
11
  - Add NATS pub/sub adapter. ([@palkan][])
@@ -131,3 +135,4 @@ See [Changelog](https://github.com/anycable/anycable/blob/0-6-stable/CHANGELOG.m
131
135
  [@sponomarev]: https://github.com/sponomarev
132
136
  [@bibendi]: https://github.com/bibendi
133
137
  [@smasry]: https://github.com/smasry
138
+ [@Envek]: https://github.com/Envek
@@ -118,7 +118,10 @@ module AnyCable
118
118
  yield http
119
119
  rescue Timeout::Error, *RECOVERABLE_EXCEPTIONS => e
120
120
  retry_count += 1
121
- return logger.error("Broadcast request failed: #{e.message}") if MAX_ATTEMPTS < retry_count
121
+ if MAX_ATTEMPTS < retry_count
122
+ logger.error("Broadcast request failed: #{e.message}")
123
+ return
124
+ end
122
125
 
123
126
  sleep((DELAY**retry_count).to_int * retry_count)
124
127
  retry
@@ -28,6 +28,7 @@ module AnyCable
28
28
  redis_url: ENV.fetch("REDIS_URL", "redis://localhost:6379/5"),
29
29
  redis_sentinels: nil,
30
30
  redis_channel: "__anycable__",
31
+ redis_tls_verify: false,
31
32
 
32
33
  ### NATS options
33
34
  nats_servers: "nats://localhost:4222",
@@ -57,6 +58,7 @@ module AnyCable
57
58
  coerce_types(
58
59
  redis_sentinels: {type: nil, array: true},
59
60
  nats_servers: {type: nil, array: true},
61
+ redis_tls_verify: :boolean,
60
62
  nats_dont_randomize_servers: :boolean,
61
63
  debug: :boolean,
62
64
  version_check_enabled: :boolean
@@ -94,6 +96,7 @@ module AnyCable
94
96
  --redis-url=url Redis URL for pub/sub, default: REDIS_URL or "redis://localhost:6379/5"
95
97
  --redis-channel=name Redis channel for broadcasting, default: "__anycable__"
96
98
  --redis-sentinels=<...hosts> Redis Sentinel followers addresses (as a comma-separated list), default: nil
99
+ --redis-tls-verify=yes|no Whether to perform server certificate check in case of rediss:// protocol. Default: yes
97
100
 
98
101
  NATS PUB/SUB
99
102
  --nats-servers=<...addresses> NATS servers for pub/sub, default: "nats://localhost:4222"
@@ -119,7 +122,7 @@ module AnyCable
119
122
 
120
123
  params[:sentinels] = sentinels.map { |sentinel| parse_sentinel(sentinel) }
121
124
  end.tap do |params|
122
- next unless redis_url.match?(/rediss:\/\//)
125
+ next unless redis_url.match?(/rediss:\/\//) && !redis_tls_verify?
123
126
 
124
127
  params[:ssl_params] = {verify_mode: OpenSSL::SSL::VERIFY_NONE}
125
128
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AnyCable
4
- VERSION = "1.2.4"
4
+ VERSION = "1.2.5"
5
5
  end
@@ -8,6 +8,9 @@ module AnyCable
8
8
  def redis_sentinels=: (Array[String]) -> void
9
9
  def redis_channel: () -> String
10
10
  def redis_channel=: (String) -> void
11
+ def redis_tls_verify: () -> bool
12
+ def redis_tls_verify?: () -> bool
13
+ def redis_tls_verify=: (bool) -> void
11
14
  def nats_servers: () -> Array[String]
12
15
  def nats_servers=: (Array[String]) -> void
13
16
  def nats_channel: () -> String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anycable-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - palkan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-10 00:00:00.000000000 Z
11
+ date: 2022-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: anyway_config