karafka 1.3.0 → 1.4.14
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 +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