karafka 1.3.0 → 1.4.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.diffend.yml +3 -0
- data/.github/workflows/ci.yml +76 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +112 -15
- data/CODE_OF_CONDUCT.md +1 -1
- data/Gemfile +2 -0
- data/Gemfile.lock +87 -98
- data/README.md +28 -31
- data/certs/mensfeld.pem +24 -23
- data/config/errors.yml +2 -0
- data/docker-compose.yml +17 -0
- data/karafka.gemspec +22 -14
- data/lib/karafka/assignment_strategies/round_robin.rb +13 -0
- data/lib/karafka/attributes_map.rb +3 -8
- data/lib/karafka/cli/base.rb +4 -4
- data/lib/karafka/cli/flow.rb +9 -6
- data/lib/karafka/cli/info.rb +1 -1
- data/lib/karafka/cli/install.rb +5 -2
- data/lib/karafka/cli/missingno.rb +19 -0
- data/lib/karafka/cli/server.rb +8 -8
- data/lib/karafka/cli.rb +9 -1
- data/lib/karafka/connection/api_adapter.rb +27 -24
- data/lib/karafka/connection/batch_delegator.rb +5 -1
- data/lib/karafka/connection/builder.rb +9 -2
- data/lib/karafka/connection/client.rb +9 -6
- data/lib/karafka/connection/listener.rb +2 -2
- data/lib/karafka/consumers/batch_metadata.rb +10 -0
- data/lib/karafka/consumers/includer.rb +5 -4
- data/lib/karafka/contracts/consumer_group.rb +10 -5
- data/lib/karafka/contracts/server_cli_options.rb +2 -0
- data/lib/karafka/contracts.rb +1 -1
- data/lib/karafka/helpers/class_matcher.rb +2 -2
- data/lib/karafka/instrumentation/logger.rb +6 -9
- data/lib/karafka/instrumentation/stdout_listener.rb +6 -4
- data/lib/karafka/params/batch_metadata.rb +26 -0
- data/lib/karafka/params/builders/batch_metadata.rb +30 -0
- data/lib/karafka/params/builders/params.rb +17 -15
- data/lib/karafka/params/builders/params_batch.rb +2 -2
- data/lib/karafka/params/metadata.rb +14 -29
- data/lib/karafka/params/params.rb +27 -41
- data/lib/karafka/params/params_batch.rb +15 -16
- data/lib/karafka/routing/builder.rb +1 -0
- data/lib/karafka/routing/consumer_group.rb +5 -3
- data/lib/karafka/serialization/json/deserializer.rb +2 -2
- data/lib/karafka/server.rb +4 -1
- data/lib/karafka/setup/config.rb +60 -52
- data/lib/karafka/templates/karafka.rb.erb +1 -1
- data/lib/karafka/version.rb +1 -1
- data/lib/karafka.rb +3 -1
- data.tar.gz.sig +0 -0
- metadata +75 -93
- metadata.gz.sig +0 -0
- data/.github/FUNDING.yml +0 -3
- data/.travis.yml +0 -36
- data/lib/karafka/consumers/metadata.rb +0 -10
- data/lib/karafka/params/builders/metadata.rb +0 -33
data/lib/karafka/setup/config.rb
CHANGED
@@ -24,83 +24,89 @@ module Karafka
|
|
24
24
|
# default Kafka groups namespaces and identify that app in kafka
|
25
25
|
setting :client_id
|
26
26
|
# What backend do we want to use to process messages
|
27
|
-
setting :backend, :inline
|
27
|
+
setting :backend, default: :inline
|
28
28
|
# option logger [Instance] logger that we want to use
|
29
|
-
setting :logger, ::Karafka::Instrumentation::Logger.new
|
29
|
+
setting :logger, default: ::Karafka::Instrumentation::Logger.new
|
30
30
|
# option monitor [Instance] monitor that we will to use (defaults to Karafka::Monitor)
|
31
|
-
setting :monitor, ::Karafka::Instrumentation::Monitor.new
|
31
|
+
setting :monitor, default: ::Karafka::Instrumentation::Monitor.new
|
32
32
|
# Mapper used to remap consumer groups ids, so in case users migrate from other tools
|
33
33
|
# or they need to maintain their own internal consumer group naming conventions, they
|
34
34
|
# can easily do it, replacing the default client_id + consumer name pattern concept
|
35
|
-
setting :consumer_mapper, Routing::ConsumerMapper.new
|
35
|
+
setting :consumer_mapper, default: Routing::ConsumerMapper.new
|
36
36
|
# Mapper used to remap names of topics, so we can have a clean internal topic naming
|
37
37
|
# despite using any Kafka provider that uses namespacing, etc
|
38
38
|
# It needs to implement two methods:
|
39
39
|
# - #incoming - for remapping from the incoming message to our internal format
|
40
40
|
# - #outgoing - for remapping from internal topic name into outgoing message
|
41
|
-
setting :topic_mapper, Routing::TopicMapper.new
|
41
|
+
setting :topic_mapper, default: Routing::TopicMapper.new
|
42
42
|
# Default serializer for converting whatever we want to send to kafka to json
|
43
|
-
setting :serializer, Karafka::Serialization::Json::Serializer.new
|
43
|
+
setting :serializer, default: Karafka::Serialization::Json::Serializer.new
|
44
44
|
# Default deserializer for converting incoming data into ruby objects
|
45
|
-
setting :deserializer, Karafka::Serialization::Json::Deserializer.new
|
45
|
+
setting :deserializer, default: Karafka::Serialization::Json::Deserializer.new
|
46
46
|
# If batch_fetching is true, we will fetch kafka messages in batches instead of 1 by 1
|
47
47
|
# @note Fetching does not equal consuming, see batch_consuming description for details
|
48
|
-
setting :batch_fetching, true
|
48
|
+
setting :batch_fetching, default: true
|
49
49
|
# If batch_consuming is true, we will have access to #params_batch instead of #params.
|
50
50
|
# #params_batch will contain params received from Kafka (may be more than 1) so we can
|
51
51
|
# process them in batches
|
52
|
-
setting :batch_consuming, false
|
52
|
+
setting :batch_consuming, default: false
|
53
53
|
# option shutdown_timeout [Integer, nil] the number of seconds after which Karafka no
|
54
54
|
# longer wait for the consumers to stop gracefully but instead we force terminate
|
55
55
|
# everything.
|
56
|
-
setting :shutdown_timeout, 60
|
56
|
+
setting :shutdown_timeout, default: 60
|
57
57
|
|
58
58
|
# option kafka [Hash] - optional - kafka configuration options
|
59
59
|
setting :kafka do
|
60
60
|
# Array with at least one host
|
61
|
-
setting :seed_brokers, %w[kafka://127.0.0.1:9092]
|
61
|
+
setting :seed_brokers, default: %w[kafka://127.0.0.1:9092]
|
62
62
|
# option session_timeout [Integer] the number of seconds after which, if a client
|
63
63
|
# hasn't contacted the Kafka cluster, it will be kicked out of the group.
|
64
|
-
setting :session_timeout, 30
|
64
|
+
setting :session_timeout, default: 30
|
65
65
|
# Time that a given partition will be paused from fetching messages, when message
|
66
66
|
# consumption fails. It allows us to process other partitions, while the error is being
|
67
67
|
# resolved and also "slows" things down, so it prevents from "eating" up all messages and
|
68
68
|
# consuming them with failed code. Use `nil` if you want to pause forever and never retry.
|
69
|
-
setting :pause_timeout, 10
|
69
|
+
setting :pause_timeout, default: 10
|
70
70
|
# option pause_max_timeout [Integer, nil] the maximum number of seconds to pause for,
|
71
71
|
# or `nil` if no maximum should be enforced.
|
72
|
-
setting :pause_max_timeout, nil
|
72
|
+
setting :pause_max_timeout, default: nil
|
73
73
|
# option pause_exponential_backoff [Boolean] whether to enable exponential backoff
|
74
|
-
setting :pause_exponential_backoff, false
|
74
|
+
setting :pause_exponential_backoff, default: false
|
75
75
|
# option offset_commit_interval [Integer] the interval between offset commits,
|
76
76
|
# in seconds.
|
77
|
-
setting :offset_commit_interval, 10
|
77
|
+
setting :offset_commit_interval, default: 10
|
78
78
|
# option offset_commit_threshold [Integer] the number of messages that can be
|
79
79
|
# processed before their offsets are committed. If zero, offset commits are
|
80
80
|
# not triggered by message consumption.
|
81
|
-
setting :offset_commit_threshold, 0
|
81
|
+
setting :offset_commit_threshold, default: 0
|
82
82
|
# option heartbeat_interval [Integer] the interval between heartbeats; must be less
|
83
83
|
# than the session window.
|
84
|
-
setting :heartbeat_interval, 10
|
84
|
+
setting :heartbeat_interval, default: 10
|
85
85
|
# option offset_retention_time [Integer] The length of the retention window, known as
|
86
86
|
# offset retention time
|
87
|
-
setting :offset_retention_time, nil
|
87
|
+
setting :offset_retention_time, default: nil
|
88
88
|
# option fetcher_max_queue_size [Integer] max number of items in the fetch queue that
|
89
89
|
# are stored for further processing. Note, that each item in the queue represents a
|
90
90
|
# response from a single broker
|
91
|
-
setting :fetcher_max_queue_size, 10
|
91
|
+
setting :fetcher_max_queue_size, default: 10
|
92
|
+
# option assignment_strategy [Object] a strategy determining the assignment of
|
93
|
+
# partitions to the consumers.
|
94
|
+
setting :assignment_strategy, default: Karafka::AssignmentStrategies::RoundRobin.new
|
92
95
|
# option max_bytes_per_partition [Integer] the maximum amount of data fetched
|
93
96
|
# from a single partition at a time.
|
94
|
-
setting :max_bytes_per_partition, 1_048_576
|
97
|
+
setting :max_bytes_per_partition, default: 1_048_576
|
95
98
|
# whether to consume messages starting at the beginning or to just consume new messages
|
96
|
-
setting :start_from_beginning, true
|
99
|
+
setting :start_from_beginning, default: true
|
100
|
+
# option resolve_seed_brokers [Boolean] whether to resolve each hostname of the seed
|
101
|
+
# brokers
|
102
|
+
setting :resolve_seed_brokers, default: false
|
97
103
|
# option min_bytes [Integer] the minimum number of bytes to read before
|
98
104
|
# returning messages from the server; if `max_wait_time` is reached, this
|
99
105
|
# is ignored.
|
100
|
-
setting :min_bytes, 1
|
106
|
+
setting :min_bytes, default: 1
|
101
107
|
# option max_bytes [Integer] the maximum number of bytes to read before returning messages
|
102
108
|
# from each broker.
|
103
|
-
setting :max_bytes, 10_485_760
|
109
|
+
setting :max_bytes, default: 10_485_760
|
104
110
|
# option max_wait_time [Integer, Float] max_wait_time is the maximum number of seconds to
|
105
111
|
# wait before returning data from a single message fetch. By setting this high you also
|
106
112
|
# increase the fetching throughput - and by setting it low you set a bound on latency.
|
@@ -108,63 +114,65 @@ module Karafka
|
|
108
114
|
# time specified. The default value is one second. If you want to have at most five
|
109
115
|
# seconds of latency, set `max_wait_time` to 5. You should make sure
|
110
116
|
# max_wait_time * num brokers + heartbeat_interval is less than session_timeout.
|
111
|
-
setting :max_wait_time, 1
|
117
|
+
setting :max_wait_time, default: 1
|
112
118
|
# option automatically_mark_as_consumed [Boolean] should we automatically mark received
|
113
119
|
# messages as consumed (processed) after non-error consumption
|
114
|
-
setting :automatically_mark_as_consumed, true
|
120
|
+
setting :automatically_mark_as_consumed, default: true
|
115
121
|
# option reconnect_timeout [Integer] How long should we wait before trying to reconnect to
|
116
122
|
# Kafka cluster that went down (in seconds)
|
117
|
-
setting :reconnect_timeout, 5
|
123
|
+
setting :reconnect_timeout, default: 5
|
118
124
|
# option connect_timeout [Integer] Sets the number of seconds to wait while connecting to
|
119
125
|
# a broker for the first time. When ruby-kafka initializes, it needs to connect to at
|
120
126
|
# least one host.
|
121
|
-
setting :connect_timeout, 10
|
127
|
+
setting :connect_timeout, default: 10
|
122
128
|
# option socket_timeout [Integer] Sets the number of seconds to wait when reading from or
|
123
129
|
# writing to a socket connection to a broker. After this timeout expires the connection
|
124
130
|
# will be killed. Note that some Kafka operations are by definition long-running, such as
|
125
131
|
# waiting for new messages to arrive in a partition, so don't set this value too low
|
126
|
-
setting :socket_timeout, 30
|
132
|
+
setting :socket_timeout, default: 30
|
133
|
+
# option partitioner [Object, nil] the partitioner that should be used by the client
|
134
|
+
setting :partitioner, default: nil
|
127
135
|
|
128
136
|
# SSL authentication related settings
|
129
137
|
# option ca_cert [String, nil] SSL CA certificate
|
130
|
-
setting :ssl_ca_cert, nil
|
138
|
+
setting :ssl_ca_cert, default: nil
|
131
139
|
# option ssl_ca_cert_file_path [String, nil] SSL CA certificate file path
|
132
|
-
setting :ssl_ca_cert_file_path, nil
|
140
|
+
setting :ssl_ca_cert_file_path, default: nil
|
133
141
|
# option ssl_ca_certs_from_system [Boolean] Use the CA certs from your system's default
|
134
142
|
# certificate store
|
135
|
-
setting :ssl_ca_certs_from_system, false
|
143
|
+
setting :ssl_ca_certs_from_system, default: false
|
136
144
|
# option ssl_verify_hostname [Boolean] Verify the hostname for client certs
|
137
|
-
setting :ssl_verify_hostname, true
|
145
|
+
setting :ssl_verify_hostname, default: true
|
138
146
|
# option ssl_client_cert [String, nil] SSL client certificate
|
139
|
-
setting :ssl_client_cert, nil
|
147
|
+
setting :ssl_client_cert, default: nil
|
140
148
|
# option ssl_client_cert_key [String, nil] SSL client certificate password
|
141
|
-
setting :ssl_client_cert_key, nil
|
149
|
+
setting :ssl_client_cert_key, default: nil
|
142
150
|
# option sasl_gssapi_principal [String, nil] sasl principal
|
143
|
-
setting :sasl_gssapi_principal, nil
|
151
|
+
setting :sasl_gssapi_principal, default: nil
|
144
152
|
# option sasl_gssapi_keytab [String, nil] sasl keytab
|
145
|
-
setting :sasl_gssapi_keytab, nil
|
153
|
+
setting :sasl_gssapi_keytab, default: nil
|
146
154
|
# option sasl_plain_authzid [String] The authorization identity to use
|
147
|
-
setting :sasl_plain_authzid, ''
|
155
|
+
setting :sasl_plain_authzid, default: ''
|
148
156
|
# option sasl_plain_username [String, nil] The username used to authenticate
|
149
|
-
setting :sasl_plain_username, nil
|
157
|
+
setting :sasl_plain_username, default: nil
|
150
158
|
# option sasl_plain_password [String, nil] The password used to authenticate
|
151
|
-
setting :sasl_plain_password, nil
|
159
|
+
setting :sasl_plain_password, default: nil
|
152
160
|
# option sasl_scram_username [String, nil] The username used to authenticate
|
153
|
-
setting :sasl_scram_username, nil
|
161
|
+
setting :sasl_scram_username, default: nil
|
154
162
|
# option sasl_scram_password [String, nil] The password used to authenticate
|
155
|
-
setting :sasl_scram_password, nil
|
163
|
+
setting :sasl_scram_password, default: nil
|
156
164
|
# option sasl_scram_mechanism [String, nil] Scram mechanism, either 'sha256' or 'sha512'
|
157
|
-
setting :sasl_scram_mechanism, nil
|
165
|
+
setting :sasl_scram_mechanism, default: nil
|
158
166
|
# option sasl_over_ssl [Boolean] whether to enforce SSL with SASL
|
159
|
-
setting :sasl_over_ssl, true
|
167
|
+
setting :sasl_over_ssl, default: true
|
160
168
|
# option ssl_client_cert_chain [String, nil] client cert chain or nil if not used
|
161
|
-
setting :ssl_client_cert_chain, nil
|
169
|
+
setting :ssl_client_cert_chain, default: nil
|
162
170
|
# option ssl_client_cert_key_password [String, nil] the password required to read
|
163
171
|
# the ssl_client_cert_key
|
164
|
-
setting :ssl_client_cert_key_password, nil
|
172
|
+
setting :ssl_client_cert_key_password, default: nil
|
165
173
|
# @param sasl_oauth_token_provider [Object, nil] OAuthBearer Token Provider instance that
|
166
174
|
# implements method token.
|
167
|
-
setting :sasl_oauth_token_provider, nil
|
175
|
+
setting :sasl_oauth_token_provider, default: nil
|
168
176
|
end
|
169
177
|
|
170
178
|
# Namespace for internal settings that should not be modified
|
@@ -172,18 +180,18 @@ module Karafka
|
|
172
180
|
# non global state
|
173
181
|
setting :internal do
|
174
182
|
# option routing_builder [Karafka::Routing::Builder] builder instance
|
175
|
-
setting :routing_builder, Routing::Builder.new
|
183
|
+
setting :routing_builder, default: Routing::Builder.new
|
176
184
|
# option status [Karafka::Status] app status
|
177
|
-
setting :status, Status.new
|
185
|
+
setting :status, default: Status.new
|
178
186
|
# option process [Karafka::Process] process status
|
179
187
|
# @note In the future, we need to have a single process representation for all the karafka
|
180
188
|
# instances
|
181
|
-
setting :process, Process.new
|
189
|
+
setting :process, default: Process.new
|
182
190
|
# option fetcher [Karafka::Fetcher] fetcher instance
|
183
|
-
setting :fetcher, Fetcher.new
|
191
|
+
setting :fetcher, default: Fetcher.new
|
184
192
|
# option configurators [Array<Object>] all configurators that we want to run after
|
185
193
|
# the setup
|
186
|
-
setting :configurators, [Configurators::WaterDrop.new]
|
194
|
+
setting :configurators, default: [Configurators::WaterDrop.new]
|
187
195
|
end
|
188
196
|
|
189
197
|
class << self
|
@@ -54,7 +54,7 @@ class KarafkaApp < Karafka::App
|
|
54
54
|
# listen to only what you really need for given environment.
|
55
55
|
Karafka.monitor.subscribe(WaterDrop::Instrumentation::StdoutListener.new)
|
56
56
|
Karafka.monitor.subscribe(Karafka::Instrumentation::StdoutListener.new)
|
57
|
-
Karafka.monitor.subscribe(Karafka::Instrumentation::ProctitleListener.new)
|
57
|
+
# Karafka.monitor.subscribe(Karafka::Instrumentation::ProctitleListener.new)
|
58
58
|
|
59
59
|
# Uncomment that in order to achieve code reload in development mode
|
60
60
|
# Be aware, that this might have some side-effects. Please refer to the wiki
|
data/lib/karafka/version.rb
CHANGED
data/lib/karafka.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: karafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Mensfeld
|
@@ -12,203 +12,176 @@ bindir: bin
|
|
12
12
|
cert_chain:
|
13
13
|
- |
|
14
14
|
-----BEGIN CERTIFICATE-----
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
15
|
+
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
|
16
|
+
YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
|
17
|
+
MB4XDTIyMDgxOTE3MjEzN1oXDTIzMDgxOTE3MjEzN1owPzEQMA4GA1UEAwwHY29u
|
18
|
+
dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
|
19
|
+
bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAODzeO3L6lxdATzMHKNW
|
20
|
+
jFA/GGunoPuylO/BMzy8RiQHh7VIvysAKs0tHhTx3g2D0STDpF+hcQcPELFikiT2
|
21
|
+
F+1wOHj/SsrK7VKqfA8+gq04hKc5sQoX2Egf9k3V0YJ3eZ6R/koHkQ8A0TVt0w6F
|
22
|
+
ZQckoV4MqnEAx0g/FZN3mnHTlJ3VFLSBqJEIe+S6FZMl92mSv+hTrlUG8VaYxSfN
|
23
|
+
lTCvnKk284F6QZq5XIENLRmcDd/3aPBLnLwNnyMyhB+6gK8cUO+CFlDO5tjo/aBA
|
24
|
+
rUnl++wGG0JooF1ed0v+evOn9KoMBG6rHewcf79qJbVOscbD8qSAmo+sCXtcFryr
|
25
|
+
KRMTB8gNbowJkFRJDEe8tfRy11u1fYzFg/qNO82FJd62rKAw2wN0C29yCeQOPRb1
|
26
|
+
Cw9Y4ZwK9VFNEcV9L+3pHTHn2XfuZHtDaG198VweiF6raFO4yiEYccodH/USP0L5
|
27
|
+
cbcCFtmu/4HDSxL1ByQXO84A0ybJuk3/+aPUSXe9C9U8fwIDAQABo3cwdTAJBgNV
|
28
|
+
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUSlcEakb7gfn/5E2WY6z73BF/
|
29
|
+
iZkwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
|
30
|
+
bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEA1aS+E7RXJ1w9g9mJ
|
31
|
+
G0NzFxe64OEuENosNlvYQCbRKGCXAU1qqelYkBQHseRgRKxLICrnypRo9IEobyHa
|
32
|
+
vDnJ4r7Tsb34dleqQW2zY/obG+cia3Ym2JsegXWF7dDOzCXJ4FN8MFoT2jHlqLLw
|
33
|
+
yrap0YO5zx0GSQ0Dwy8h2n2v2vanMEeCx7iNm3ERgR5WuN5sjzWoz2A/JLEEcK0C
|
34
|
+
EnAGKCWAd1fuG8IemDjT1edsd5FyYR4bIX0m+99oDuFZyPiiIbalmyYiSBBp59Yb
|
35
|
+
Q0P8zeBi4OfwCZNcxqz0KONmw9JLNv6DgyEAH5xe/4JzhMEgvIRiPj0pHfA7oqQF
|
36
|
+
KUNqvD1KlxbEC+bZfE5IZhnqYLdld/Ksqd22FI1RBhiS1Ejfsj99LVIm9cBuZEY2
|
37
|
+
Qf04B9ceLUaC4fPVEz10FyobjaFoY4i32xRto3XnrzeAgfEe4swLq8bQsR3w/EF3
|
38
|
+
MGU0FeSV2Yj7Xc2x/7BzLK8xQn5l7Yy75iPF+KP3vVmDHnNl
|
38
39
|
-----END CERTIFICATE-----
|
39
|
-
date:
|
40
|
+
date: 2022-10-14 00:00:00.000000000 Z
|
40
41
|
dependencies:
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
43
|
+
name: concurrent-ruby
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- - "
|
46
|
+
- - ">="
|
46
47
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0
|
48
|
+
version: '0'
|
48
49
|
type: :runtime
|
49
50
|
prerelease: false
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
|
-
- - "
|
53
|
+
- - ">="
|
53
54
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0
|
55
|
+
version: '0'
|
55
56
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: dry-
|
57
|
+
name: dry-configurable
|
57
58
|
requirement: !ruby/object:Gem::Requirement
|
58
59
|
requirements:
|
59
60
|
- - "~>"
|
60
61
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
62
|
+
version: '0.16'
|
62
63
|
type: :runtime
|
63
64
|
prerelease: false
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
65
66
|
requirements:
|
66
67
|
- - "~>"
|
67
68
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0.
|
69
|
+
version: '0.16'
|
69
70
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: dry-
|
71
|
+
name: dry-inflector
|
71
72
|
requirement: !ruby/object:Gem::Requirement
|
72
73
|
requirements:
|
73
74
|
- - "~>"
|
74
75
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0.
|
76
|
+
version: '0.2'
|
76
77
|
type: :runtime
|
77
78
|
prerelease: false
|
78
79
|
version_requirements: !ruby/object:Gem::Requirement
|
79
80
|
requirements:
|
80
81
|
- - "~>"
|
81
82
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0.
|
83
|
+
version: '0.2'
|
83
84
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: dry-
|
85
|
+
name: dry-monitor
|
85
86
|
requirement: !ruby/object:Gem::Requirement
|
86
87
|
requirements:
|
87
88
|
- - "~>"
|
88
89
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
90
|
+
version: '0.5'
|
90
91
|
type: :runtime
|
91
92
|
prerelease: false
|
92
93
|
version_requirements: !ruby/object:Gem::Requirement
|
93
94
|
requirements:
|
94
95
|
- - "~>"
|
95
96
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
97
|
+
version: '0.5'
|
97
98
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
99
|
+
name: dry-validation
|
99
100
|
requirement: !ruby/object:Gem::Requirement
|
100
101
|
requirements:
|
101
102
|
- - "~>"
|
102
103
|
- !ruby/object:Gem::Version
|
103
|
-
version: '1.
|
104
|
+
version: '1.7'
|
104
105
|
type: :runtime
|
105
106
|
prerelease: false
|
106
107
|
version_requirements: !ruby/object:Gem::Requirement
|
107
108
|
requirements:
|
108
109
|
- - "~>"
|
109
110
|
- !ruby/object:Gem::Version
|
110
|
-
version: '1.
|
111
|
+
version: '1.7'
|
111
112
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
113
|
+
name: envlogic
|
113
114
|
requirement: !ruby/object:Gem::Requirement
|
114
115
|
requirements:
|
115
116
|
- - "~>"
|
116
117
|
- !ruby/object:Gem::Version
|
117
|
-
version: '1.
|
118
|
+
version: '1.1'
|
118
119
|
type: :runtime
|
119
120
|
prerelease: false
|
120
121
|
version_requirements: !ruby/object:Gem::Requirement
|
121
122
|
requirements:
|
122
123
|
- - "~>"
|
123
124
|
- !ruby/object:Gem::Version
|
124
|
-
version: '1.
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: multi_json
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '1.12'
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '1.12'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: rake
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '11.3'
|
146
|
-
type: :runtime
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '11.3'
|
125
|
+
version: '1.1'
|
153
126
|
- !ruby/object:Gem::Dependency
|
154
127
|
name: ruby-kafka
|
155
128
|
requirement: !ruby/object:Gem::Requirement
|
156
129
|
requirements:
|
157
130
|
- - ">="
|
158
131
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
132
|
+
version: 1.3.0
|
160
133
|
type: :runtime
|
161
134
|
prerelease: false
|
162
135
|
version_requirements: !ruby/object:Gem::Requirement
|
163
136
|
requirements:
|
164
137
|
- - ">="
|
165
138
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
139
|
+
version: 1.3.0
|
167
140
|
- !ruby/object:Gem::Dependency
|
168
141
|
name: thor
|
169
142
|
requirement: !ruby/object:Gem::Requirement
|
170
143
|
requirements:
|
171
|
-
- - "
|
144
|
+
- - ">="
|
172
145
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
146
|
+
version: '1.1'
|
174
147
|
type: :runtime
|
175
148
|
prerelease: false
|
176
149
|
version_requirements: !ruby/object:Gem::Requirement
|
177
150
|
requirements:
|
178
|
-
- - "
|
151
|
+
- - ">="
|
179
152
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
153
|
+
version: '1.1'
|
181
154
|
- !ruby/object:Gem::Dependency
|
182
155
|
name: waterdrop
|
183
156
|
requirement: !ruby/object:Gem::Requirement
|
184
157
|
requirements:
|
185
158
|
- - "~>"
|
186
159
|
- !ruby/object:Gem::Version
|
187
|
-
version: 1.
|
160
|
+
version: '1.4'
|
188
161
|
type: :runtime
|
189
162
|
prerelease: false
|
190
163
|
version_requirements: !ruby/object:Gem::Requirement
|
191
164
|
requirements:
|
192
165
|
- - "~>"
|
193
166
|
- !ruby/object:Gem::Version
|
194
|
-
version: 1.
|
167
|
+
version: '1.4'
|
195
168
|
- !ruby/object:Gem::Dependency
|
196
169
|
name: zeitwerk
|
197
170
|
requirement: !ruby/object:Gem::Requirement
|
198
171
|
requirements:
|
199
172
|
- - "~>"
|
200
173
|
- !ruby/object:Gem::Version
|
201
|
-
version: '2.
|
174
|
+
version: '2.6'
|
202
175
|
type: :runtime
|
203
176
|
prerelease: false
|
204
177
|
version_requirements: !ruby/object:Gem::Requirement
|
205
178
|
requirements:
|
206
179
|
- - "~>"
|
207
180
|
- !ruby/object:Gem::Version
|
208
|
-
version: '2.
|
181
|
+
version: '2.6'
|
209
182
|
description: Framework used to simplify Apache Kafka based Ruby applications development
|
210
183
|
email:
|
211
|
-
- maciej@
|
184
|
+
- maciej@mensfeld.pl
|
212
185
|
- pavlo.vavruk@gmail.com
|
213
186
|
- adam99g@gmail.com
|
214
187
|
executables:
|
@@ -218,14 +191,14 @@ extra_rdoc_files: []
|
|
218
191
|
files:
|
219
192
|
- ".coditsu/ci.yml"
|
220
193
|
- ".console_irbrc"
|
221
|
-
- ".
|
194
|
+
- ".diffend.yml"
|
222
195
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
223
196
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
197
|
+
- ".github/workflows/ci.yml"
|
224
198
|
- ".gitignore"
|
225
199
|
- ".rspec"
|
226
200
|
- ".ruby-gemset"
|
227
201
|
- ".ruby-version"
|
228
|
-
- ".travis.yml"
|
229
202
|
- CHANGELOG.md
|
230
203
|
- CODE_OF_CONDUCT.md
|
231
204
|
- CONTRIBUTING.md
|
@@ -236,9 +209,11 @@ files:
|
|
236
209
|
- bin/karafka
|
237
210
|
- certs/mensfeld.pem
|
238
211
|
- config/errors.yml
|
212
|
+
- docker-compose.yml
|
239
213
|
- karafka.gemspec
|
240
214
|
- lib/karafka.rb
|
241
215
|
- lib/karafka/app.rb
|
216
|
+
- lib/karafka/assignment_strategies/round_robin.rb
|
242
217
|
- lib/karafka/attributes_map.rb
|
243
218
|
- lib/karafka/backends/inline.rb
|
244
219
|
- lib/karafka/base_consumer.rb
|
@@ -249,6 +224,7 @@ files:
|
|
249
224
|
- lib/karafka/cli/flow.rb
|
250
225
|
- lib/karafka/cli/info.rb
|
251
226
|
- lib/karafka/cli/install.rb
|
227
|
+
- lib/karafka/cli/missingno.rb
|
252
228
|
- lib/karafka/cli/server.rb
|
253
229
|
- lib/karafka/code_reloader.rb
|
254
230
|
- lib/karafka/connection/api_adapter.rb
|
@@ -257,9 +233,9 @@ files:
|
|
257
233
|
- lib/karafka/connection/client.rb
|
258
234
|
- lib/karafka/connection/listener.rb
|
259
235
|
- lib/karafka/connection/message_delegator.rb
|
236
|
+
- lib/karafka/consumers/batch_metadata.rb
|
260
237
|
- lib/karafka/consumers/callbacks.rb
|
261
238
|
- lib/karafka/consumers/includer.rb
|
262
|
-
- lib/karafka/consumers/metadata.rb
|
263
239
|
- lib/karafka/consumers/responders.rb
|
264
240
|
- lib/karafka/consumers/single_params.rb
|
265
241
|
- lib/karafka/contracts.rb
|
@@ -278,7 +254,8 @@ files:
|
|
278
254
|
- lib/karafka/instrumentation/monitor.rb
|
279
255
|
- lib/karafka/instrumentation/proctitle_listener.rb
|
280
256
|
- lib/karafka/instrumentation/stdout_listener.rb
|
281
|
-
- lib/karafka/params/
|
257
|
+
- lib/karafka/params/batch_metadata.rb
|
258
|
+
- lib/karafka/params/builders/batch_metadata.rb
|
282
259
|
- lib/karafka/params/builders/params.rb
|
283
260
|
- lib/karafka/params/builders/params_batch.rb
|
284
261
|
- lib/karafka/params/metadata.rb
|
@@ -310,11 +287,16 @@ files:
|
|
310
287
|
- lib/karafka/templates/karafka.rb.erb
|
311
288
|
- lib/karafka/version.rb
|
312
289
|
- log/.gitkeep
|
313
|
-
homepage: https://
|
290
|
+
homepage: https://karafka.io
|
314
291
|
licenses:
|
315
292
|
- MIT
|
316
|
-
metadata:
|
317
|
-
|
293
|
+
metadata:
|
294
|
+
source_code_uri: https://github.com/karafka/karafka
|
295
|
+
rubygems_mfa_required: 'true'
|
296
|
+
post_install_message: |
|
297
|
+
WARN: Karafka 1.4 will reach the end of life soon.
|
298
|
+
We highly recommend updating to Karafka 2.0.
|
299
|
+
Visit this page for more details: https://karafka.io/docs/Versions-Lifecycle-and-EOL
|
318
300
|
rdoc_options: []
|
319
301
|
require_paths:
|
320
302
|
- lib
|
@@ -322,14 +304,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
322
304
|
requirements:
|
323
305
|
- - ">="
|
324
306
|
- !ruby/object:Gem::Version
|
325
|
-
version: 2.
|
307
|
+
version: '2.7'
|
326
308
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
327
309
|
requirements:
|
328
310
|
- - ">="
|
329
311
|
- !ruby/object:Gem::Version
|
330
312
|
version: '0'
|
331
313
|
requirements: []
|
332
|
-
rubygems_version: 3.
|
314
|
+
rubygems_version: 3.3.7
|
333
315
|
signing_key:
|
334
316
|
specification_version: 4
|
335
317
|
summary: Ruby based framework for working with Apache Kafka
|
metadata.gz.sig
CHANGED
Binary file
|
data/.github/FUNDING.yml
DELETED