karafka 1.0.1 → 1.4.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data/.coditsu/ci.yml +3 -0
- data/.console_irbrc +1 -3
- data/.diffend.yml +3 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +50 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/ci.yml +76 -0
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +286 -16
- data/CODE_OF_CONDUCT.md +1 -1
- data/CONTRIBUTING.md +6 -7
- data/Gemfile +5 -2
- data/Gemfile.lock +100 -103
- data/README.md +54 -74
- data/bin/karafka +1 -1
- data/certs/mensfeld.pem +26 -0
- data/config/errors.yml +40 -5
- data/docker-compose.yml +17 -0
- data/karafka.gemspec +31 -15
- data/lib/karafka/app.rb +19 -18
- data/lib/karafka/assignment_strategies/round_robin.rb +13 -0
- data/lib/karafka/attributes_map.rb +17 -21
- data/lib/karafka/backends/inline.rb +2 -3
- data/lib/karafka/base_consumer.rb +57 -0
- data/lib/karafka/base_responder.rb +77 -31
- data/lib/karafka/cli/base.rb +4 -4
- data/lib/karafka/cli/console.rb +11 -9
- data/lib/karafka/cli/flow.rb +9 -7
- data/lib/karafka/cli/info.rb +5 -4
- data/lib/karafka/cli/install.rb +32 -8
- data/lib/karafka/cli/missingno.rb +19 -0
- data/lib/karafka/cli/server.rb +18 -16
- data/lib/karafka/cli.rb +10 -2
- data/lib/karafka/code_reloader.rb +67 -0
- data/lib/karafka/connection/{config_adapter.rb → api_adapter.rb} +71 -22
- data/lib/karafka/connection/batch_delegator.rb +55 -0
- data/lib/karafka/connection/builder.rb +23 -0
- data/lib/karafka/connection/client.rb +120 -0
- data/lib/karafka/connection/listener.rb +39 -26
- data/lib/karafka/connection/message_delegator.rb +36 -0
- data/lib/karafka/consumers/batch_metadata.rb +10 -0
- data/lib/karafka/consumers/callbacks.rb +71 -0
- data/lib/karafka/consumers/includer.rb +64 -0
- data/lib/karafka/consumers/responders.rb +24 -0
- data/lib/karafka/{controllers → consumers}/single_params.rb +3 -3
- data/lib/karafka/contracts/config.rb +21 -0
- data/lib/karafka/contracts/consumer_group.rb +211 -0
- data/lib/karafka/contracts/consumer_group_topic.rb +19 -0
- data/lib/karafka/contracts/responder_usage.rb +54 -0
- data/lib/karafka/contracts/server_cli_options.rb +31 -0
- data/lib/karafka/contracts.rb +10 -0
- data/lib/karafka/errors.rb +27 -12
- data/lib/karafka/fetcher.rb +15 -15
- data/lib/karafka/helpers/class_matcher.rb +20 -10
- data/lib/karafka/helpers/config_retriever.rb +3 -3
- data/lib/karafka/helpers/inflector.rb +26 -0
- data/lib/karafka/helpers/multi_delegator.rb +0 -1
- data/lib/karafka/instrumentation/logger.rb +54 -0
- data/lib/karafka/instrumentation/monitor.rb +70 -0
- data/lib/karafka/instrumentation/proctitle_listener.rb +36 -0
- data/lib/karafka/instrumentation/stdout_listener.rb +140 -0
- 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 +38 -0
- data/lib/karafka/params/builders/params_batch.rb +25 -0
- data/lib/karafka/params/metadata.rb +20 -0
- data/lib/karafka/params/params.rb +35 -107
- data/lib/karafka/params/params_batch.rb +38 -19
- data/lib/karafka/patches/ruby_kafka.rb +47 -0
- data/lib/karafka/persistence/client.rb +29 -0
- data/lib/karafka/persistence/consumers.rb +45 -0
- data/lib/karafka/persistence/topics.rb +48 -0
- data/lib/karafka/process.rb +6 -9
- data/lib/karafka/responders/builder.rb +15 -14
- data/lib/karafka/responders/topic.rb +14 -9
- data/lib/karafka/routing/builder.rb +38 -9
- data/lib/karafka/routing/consumer_group.rb +6 -4
- data/lib/karafka/routing/consumer_mapper.rb +10 -9
- data/lib/karafka/routing/proxy.rb +10 -1
- data/lib/karafka/routing/router.rb +1 -1
- data/lib/karafka/routing/topic.rb +8 -12
- data/lib/karafka/routing/topic_mapper.rb +16 -18
- data/lib/karafka/serialization/json/deserializer.rb +27 -0
- data/lib/karafka/serialization/json/serializer.rb +31 -0
- data/lib/karafka/server.rb +50 -39
- data/lib/karafka/setup/config.rb +138 -91
- data/lib/karafka/setup/configurators/water_drop.rb +21 -16
- data/lib/karafka/setup/dsl.rb +21 -0
- data/lib/karafka/status.rb +7 -3
- data/lib/karafka/templates/{application_controller.rb.example → application_consumer.rb.erb} +2 -2
- data/lib/karafka/templates/karafka.rb.erb +92 -0
- data/lib/karafka/version.rb +1 -1
- data/lib/karafka.rb +19 -15
- data.tar.gz.sig +0 -0
- metadata +119 -81
- metadata.gz.sig +5 -0
- data/.github/ISSUE_TEMPLATE.md +0 -2
- data/.travis.yml +0 -17
- data/Rakefile +0 -7
- data/lib/karafka/base_controller.rb +0 -117
- data/lib/karafka/connection/messages_consumer.rb +0 -106
- data/lib/karafka/connection/messages_processor.rb +0 -61
- data/lib/karafka/controllers/includer.rb +0 -51
- data/lib/karafka/controllers/responders.rb +0 -19
- data/lib/karafka/loader.rb +0 -29
- data/lib/karafka/logger.rb +0 -53
- data/lib/karafka/monitor.rb +0 -98
- data/lib/karafka/parsers/json.rb +0 -38
- data/lib/karafka/patches/dry_configurable.rb +0 -33
- data/lib/karafka/persistence/controller.rb +0 -23
- data/lib/karafka/schemas/config.rb +0 -31
- data/lib/karafka/schemas/consumer_group.rb +0 -64
- data/lib/karafka/schemas/consumer_group_topic.rb +0 -18
- data/lib/karafka/schemas/responder_usage.rb +0 -38
- data/lib/karafka/schemas/server_cli_options.rb +0 -43
- data/lib/karafka/setup/configurators/base.rb +0 -35
- data/lib/karafka/setup/configurators/celluloid.rb +0 -19
- data/lib/karafka/templates/karafka.rb.example +0 -41
- /data/lib/karafka/templates/{application_responder.rb.example → application_responder.rb.erb} +0 -0
data/lib/karafka/templates/{application_controller.rb.example → application_consumer.rb.erb}
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Application
|
3
|
+
# Application consumer from which all Karafka consumers should inherit
|
4
4
|
# You can rename it if it would conflict with your current code base (in case you're integrating
|
5
5
|
# Karafka with other frameworks)
|
6
|
-
class
|
6
|
+
class ApplicationConsumer < Karafka::BaseConsumer
|
7
7
|
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
<% if rails? -%>
|
4
|
+
ENV['RAILS_ENV'] ||= 'development'
|
5
|
+
ENV['KARAFKA_ENV'] = ENV['RAILS_ENV']
|
6
|
+
require ::File.expand_path('../config/environment', __FILE__)
|
7
|
+
Rails.application.eager_load!
|
8
|
+
|
9
|
+
# This lines will make Karafka print to stdout like puma or unicorn
|
10
|
+
if Rails.env.development?
|
11
|
+
Rails.logger.extend(
|
12
|
+
ActiveSupport::Logger.broadcast(
|
13
|
+
ActiveSupport::Logger.new($stdout)
|
14
|
+
)
|
15
|
+
)
|
16
|
+
end
|
17
|
+
<% else -%>
|
18
|
+
# This file is auto-generated during the install process.
|
19
|
+
# If by any chance you've wanted a setup for Rails app, either run the `karafka:install`
|
20
|
+
# command again or refer to the install templates available in the source codes
|
21
|
+
|
22
|
+
ENV['RACK_ENV'] ||= 'development'
|
23
|
+
ENV['KARAFKA_ENV'] ||= ENV['RACK_ENV']
|
24
|
+
Bundler.require(:default, ENV['KARAFKA_ENV'])
|
25
|
+
|
26
|
+
# Zeitwerk custom loader for loading the app components before the whole
|
27
|
+
# Karafka framework configuration
|
28
|
+
APP_LOADER = Zeitwerk::Loader.new
|
29
|
+
APP_LOADER.enable_reloading
|
30
|
+
|
31
|
+
%w[
|
32
|
+
lib
|
33
|
+
app/consumers
|
34
|
+
app/responders
|
35
|
+
app/workers
|
36
|
+
].each(&APP_LOADER.method(:push_dir))
|
37
|
+
|
38
|
+
APP_LOADER.setup
|
39
|
+
APP_LOADER.eager_load
|
40
|
+
<% end -%>
|
41
|
+
|
42
|
+
class KarafkaApp < Karafka::App
|
43
|
+
setup do |config|
|
44
|
+
config.kafka.seed_brokers = %w[kafka://127.0.0.1:9092]
|
45
|
+
config.client_id = 'example_app'
|
46
|
+
<% if rails? -%>
|
47
|
+
config.logger = Rails.logger
|
48
|
+
<% end -%>
|
49
|
+
end
|
50
|
+
|
51
|
+
# Comment out this part if you are not using instrumentation and/or you are not
|
52
|
+
# interested in logging events for certain environments. Since instrumentation
|
53
|
+
# notifications add extra boilerplate, if you want to achieve max performance,
|
54
|
+
# listen to only what you really need for given environment.
|
55
|
+
Karafka.monitor.subscribe(WaterDrop::Instrumentation::StdoutListener.new)
|
56
|
+
Karafka.monitor.subscribe(Karafka::Instrumentation::StdoutListener.new)
|
57
|
+
# Karafka.monitor.subscribe(Karafka::Instrumentation::ProctitleListener.new)
|
58
|
+
|
59
|
+
# Uncomment that in order to achieve code reload in development mode
|
60
|
+
# Be aware, that this might have some side-effects. Please refer to the wiki
|
61
|
+
# for more details on benefits and downsides of the code reload in the
|
62
|
+
# development mode
|
63
|
+
#
|
64
|
+
# Karafka.monitor.subscribe(
|
65
|
+
# Karafka::CodeReloader.new(
|
66
|
+
# <%= rails? ? '*Rails.application.reloaders' : 'APP_LOADER' %>
|
67
|
+
# )
|
68
|
+
# )
|
69
|
+
|
70
|
+
consumer_groups.draw do
|
71
|
+
# topic :example do
|
72
|
+
# consumer ExampleConsumer
|
73
|
+
# end
|
74
|
+
|
75
|
+
# consumer_group :bigger_group do
|
76
|
+
# topic :test do
|
77
|
+
# consumer TestConsumer
|
78
|
+
# end
|
79
|
+
#
|
80
|
+
# topic :test2 do
|
81
|
+
# consumer Test2Consumer
|
82
|
+
# end
|
83
|
+
# end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
Karafka.monitor.subscribe('app.initialized') do
|
88
|
+
# Put here all the things you want to do after the Karafka framework
|
89
|
+
# initialization
|
90
|
+
end
|
91
|
+
|
92
|
+
KarafkaApp.boot!
|
data/lib/karafka/version.rb
CHANGED
data/lib/karafka.rb
CHANGED
@@ -1,24 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
%w[
|
4
|
+
delegate
|
4
5
|
English
|
5
|
-
bundler
|
6
|
-
celluloid/current
|
7
6
|
waterdrop
|
8
7
|
kafka
|
9
8
|
envlogic
|
9
|
+
json
|
10
10
|
thor
|
11
|
+
forwardable
|
11
12
|
fileutils
|
12
|
-
|
13
|
-
require_all
|
13
|
+
concurrent
|
14
14
|
dry-configurable
|
15
15
|
dry-validation
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
karafka/loader
|
16
|
+
dry/events/publisher
|
17
|
+
dry/inflector
|
18
|
+
dry/monitor/notifications
|
19
|
+
dry/core/constants
|
20
|
+
zeitwerk
|
22
21
|
].each(&method(:require))
|
23
22
|
|
24
23
|
# Karafka library
|
@@ -31,14 +30,14 @@ module Karafka
|
|
31
30
|
@logger ||= App.config.logger
|
32
31
|
end
|
33
32
|
|
34
|
-
# @return [::Karafka::Monitor] monitor that we want to use
|
33
|
+
# @return [::Karafka::Monitor] monitor that we want to use
|
35
34
|
def monitor
|
36
35
|
@monitor ||= App.config.monitor
|
37
36
|
end
|
38
37
|
|
39
38
|
# @return [String] root path of this gem
|
40
39
|
def gem_root
|
41
|
-
Pathname.new(File.expand_path('
|
40
|
+
Pathname.new(File.expand_path('..', __dir__))
|
42
41
|
end
|
43
42
|
|
44
43
|
# @return [String] Karafka app root path (user application path)
|
@@ -48,13 +47,13 @@ module Karafka
|
|
48
47
|
|
49
48
|
# @return [String] path to Karafka gem root core
|
50
49
|
def core_root
|
51
|
-
Pathname.new(File.expand_path('
|
50
|
+
Pathname.new(File.expand_path('karafka', __dir__))
|
52
51
|
end
|
53
52
|
|
54
53
|
# @return [String] path to a default file that contains booting procedure etc
|
55
54
|
# @note By default it is a file called 'karafka.rb' but it can be specified as you wish if you
|
56
55
|
# have Karafka that is merged into a Sinatra/Rails app and karafka.rb is taken.
|
57
|
-
# It will be used for console/
|
56
|
+
# It will be used for console/consumers/etc
|
58
57
|
# @example Standard only-Karafka case
|
59
58
|
# Karafka.boot_file #=> '/home/app_path/karafka.rb'
|
60
59
|
# @example Non standard case
|
@@ -66,4 +65,9 @@ module Karafka
|
|
66
65
|
end
|
67
66
|
end
|
68
67
|
|
69
|
-
|
68
|
+
Zeitwerk::Loader
|
69
|
+
.for_gem
|
70
|
+
.tap(&:setup)
|
71
|
+
.tap(&:eager_load)
|
72
|
+
|
73
|
+
Kafka::Consumer.prepend(Karafka::Patches::RubyKafka)
|
data.tar.gz.sig
ADDED
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
|
@@ -9,25 +9,38 @@ authors:
|
|
9
9
|
- Adam Gwozdowski
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
|
-
cert_chain:
|
13
|
-
|
12
|
+
cert_chain:
|
13
|
+
- |
|
14
|
+
-----BEGIN CERTIFICATE-----
|
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
|
39
|
+
-----END CERTIFICATE-----
|
40
|
+
date: 2022-10-14 00:00:00.000000000 Z
|
14
41
|
dependencies:
|
15
42
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
18
|
-
requirements:
|
19
|
-
- - ">="
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '5.0'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
version: '5.0'
|
29
|
-
- !ruby/object:Gem::Dependency
|
30
|
-
name: celluloid
|
43
|
+
name: concurrent-ruby
|
31
44
|
requirement: !ruby/object:Gem::Requirement
|
32
45
|
requirements:
|
33
46
|
- - ">="
|
@@ -46,129 +59,129 @@ dependencies:
|
|
46
59
|
requirements:
|
47
60
|
- - "~>"
|
48
61
|
- !ruby/object:Gem::Version
|
49
|
-
version: '0.
|
62
|
+
version: '0.16'
|
50
63
|
type: :runtime
|
51
64
|
prerelease: false
|
52
65
|
version_requirements: !ruby/object:Gem::Requirement
|
53
66
|
requirements:
|
54
67
|
- - "~>"
|
55
68
|
- !ruby/object:Gem::Version
|
56
|
-
version: '0.
|
69
|
+
version: '0.16'
|
57
70
|
- !ruby/object:Gem::Dependency
|
58
|
-
name: dry-
|
71
|
+
name: dry-inflector
|
59
72
|
requirement: !ruby/object:Gem::Requirement
|
60
73
|
requirements:
|
61
74
|
- - "~>"
|
62
75
|
- !ruby/object:Gem::Version
|
63
|
-
version: '0.
|
76
|
+
version: '0.2'
|
64
77
|
type: :runtime
|
65
78
|
prerelease: false
|
66
79
|
version_requirements: !ruby/object:Gem::Requirement
|
67
80
|
requirements:
|
68
81
|
- - "~>"
|
69
82
|
- !ruby/object:Gem::Version
|
70
|
-
version: '0.
|
83
|
+
version: '0.2'
|
71
84
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
85
|
+
name: dry-monitor
|
73
86
|
requirement: !ruby/object:Gem::Requirement
|
74
87
|
requirements:
|
75
88
|
- - "~>"
|
76
89
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
90
|
+
version: '0.5'
|
78
91
|
type: :runtime
|
79
92
|
prerelease: false
|
80
93
|
version_requirements: !ruby/object:Gem::Requirement
|
81
94
|
requirements:
|
82
95
|
- - "~>"
|
83
96
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
97
|
+
version: '0.5'
|
85
98
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
99
|
+
name: dry-validation
|
87
100
|
requirement: !ruby/object:Gem::Requirement
|
88
101
|
requirements:
|
89
|
-
- - "
|
102
|
+
- - "~>"
|
90
103
|
- !ruby/object:Gem::Version
|
91
|
-
version: '1.
|
104
|
+
version: '1.7'
|
92
105
|
type: :runtime
|
93
106
|
prerelease: false
|
94
107
|
version_requirements: !ruby/object:Gem::Requirement
|
95
108
|
requirements:
|
96
|
-
- - "
|
109
|
+
- - "~>"
|
97
110
|
- !ruby/object:Gem::Version
|
98
|
-
version: '1.
|
111
|
+
version: '1.7'
|
99
112
|
- !ruby/object:Gem::Dependency
|
100
|
-
name:
|
113
|
+
name: envlogic
|
101
114
|
requirement: !ruby/object:Gem::Requirement
|
102
115
|
requirements:
|
103
|
-
- - "
|
116
|
+
- - "~>"
|
104
117
|
- !ruby/object:Gem::Version
|
105
|
-
version: '
|
118
|
+
version: '1.1'
|
106
119
|
type: :runtime
|
107
120
|
prerelease: false
|
108
121
|
version_requirements: !ruby/object:Gem::Requirement
|
109
122
|
requirements:
|
110
|
-
- - "
|
123
|
+
- - "~>"
|
111
124
|
- !ruby/object:Gem::Version
|
112
|
-
version: '
|
125
|
+
version: '1.1'
|
113
126
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
127
|
+
name: ruby-kafka
|
115
128
|
requirement: !ruby/object:Gem::Requirement
|
116
129
|
requirements:
|
117
130
|
- - ">="
|
118
131
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
132
|
+
version: 1.3.0
|
120
133
|
type: :runtime
|
121
134
|
prerelease: false
|
122
135
|
version_requirements: !ruby/object:Gem::Requirement
|
123
136
|
requirements:
|
124
137
|
- - ">="
|
125
138
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
139
|
+
version: 1.3.0
|
127
140
|
- !ruby/object:Gem::Dependency
|
128
|
-
name:
|
141
|
+
name: thor
|
129
142
|
requirement: !ruby/object:Gem::Requirement
|
130
143
|
requirements:
|
131
144
|
- - ">="
|
132
145
|
- !ruby/object:Gem::Version
|
133
|
-
version: '
|
146
|
+
version: '1.1'
|
134
147
|
type: :runtime
|
135
148
|
prerelease: false
|
136
149
|
version_requirements: !ruby/object:Gem::Requirement
|
137
150
|
requirements:
|
138
151
|
- - ">="
|
139
152
|
- !ruby/object:Gem::Version
|
140
|
-
version: '
|
153
|
+
version: '1.1'
|
141
154
|
- !ruby/object:Gem::Dependency
|
142
|
-
name:
|
155
|
+
name: waterdrop
|
143
156
|
requirement: !ruby/object:Gem::Requirement
|
144
157
|
requirements:
|
145
158
|
- - "~>"
|
146
159
|
- !ruby/object:Gem::Version
|
147
|
-
version: '
|
160
|
+
version: '1.4'
|
148
161
|
type: :runtime
|
149
162
|
prerelease: false
|
150
163
|
version_requirements: !ruby/object:Gem::Requirement
|
151
164
|
requirements:
|
152
165
|
- - "~>"
|
153
166
|
- !ruby/object:Gem::Version
|
154
|
-
version: '
|
167
|
+
version: '1.4'
|
155
168
|
- !ruby/object:Gem::Dependency
|
156
|
-
name:
|
169
|
+
name: zeitwerk
|
157
170
|
requirement: !ruby/object:Gem::Requirement
|
158
171
|
requirements:
|
159
172
|
- - "~>"
|
160
173
|
- !ruby/object:Gem::Version
|
161
|
-
version: '
|
174
|
+
version: '2.6'
|
162
175
|
type: :runtime
|
163
176
|
prerelease: false
|
164
177
|
version_requirements: !ruby/object:Gem::Requirement
|
165
178
|
requirements:
|
166
179
|
- - "~>"
|
167
180
|
- !ruby/object:Gem::Version
|
168
|
-
version: '
|
181
|
+
version: '2.6'
|
169
182
|
description: Framework used to simplify Apache Kafka based Ruby applications development
|
170
183
|
email:
|
171
|
-
- maciej@
|
184
|
+
- maciej@mensfeld.pl
|
172
185
|
- pavlo.vavruk@gmail.com
|
173
186
|
- adam99g@gmail.com
|
174
187
|
executables:
|
@@ -176,13 +189,16 @@ executables:
|
|
176
189
|
extensions: []
|
177
190
|
extra_rdoc_files: []
|
178
191
|
files:
|
192
|
+
- ".coditsu/ci.yml"
|
179
193
|
- ".console_irbrc"
|
180
|
-
- ".
|
194
|
+
- ".diffend.yml"
|
195
|
+
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
196
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
197
|
+
- ".github/workflows/ci.yml"
|
181
198
|
- ".gitignore"
|
182
199
|
- ".rspec"
|
183
200
|
- ".ruby-gemset"
|
184
201
|
- ".ruby-version"
|
185
|
-
- ".travis.yml"
|
186
202
|
- CHANGELOG.md
|
187
203
|
- CODE_OF_CONDUCT.md
|
188
204
|
- CONTRIBUTING.md
|
@@ -190,15 +206,17 @@ files:
|
|
190
206
|
- Gemfile.lock
|
191
207
|
- MIT-LICENCE
|
192
208
|
- README.md
|
193
|
-
- Rakefile
|
194
209
|
- bin/karafka
|
210
|
+
- certs/mensfeld.pem
|
195
211
|
- config/errors.yml
|
212
|
+
- docker-compose.yml
|
196
213
|
- karafka.gemspec
|
197
214
|
- lib/karafka.rb
|
198
215
|
- lib/karafka/app.rb
|
216
|
+
- lib/karafka/assignment_strategies/round_robin.rb
|
199
217
|
- lib/karafka/attributes_map.rb
|
200
218
|
- lib/karafka/backends/inline.rb
|
201
|
-
- lib/karafka/
|
219
|
+
- lib/karafka/base_consumer.rb
|
202
220
|
- lib/karafka/base_responder.rb
|
203
221
|
- lib/karafka/cli.rb
|
204
222
|
- lib/karafka/cli/base.rb
|
@@ -206,27 +224,47 @@ files:
|
|
206
224
|
- lib/karafka/cli/flow.rb
|
207
225
|
- lib/karafka/cli/info.rb
|
208
226
|
- lib/karafka/cli/install.rb
|
227
|
+
- lib/karafka/cli/missingno.rb
|
209
228
|
- lib/karafka/cli/server.rb
|
210
|
-
- lib/karafka/
|
229
|
+
- lib/karafka/code_reloader.rb
|
230
|
+
- lib/karafka/connection/api_adapter.rb
|
231
|
+
- lib/karafka/connection/batch_delegator.rb
|
232
|
+
- lib/karafka/connection/builder.rb
|
233
|
+
- lib/karafka/connection/client.rb
|
211
234
|
- lib/karafka/connection/listener.rb
|
212
|
-
- lib/karafka/connection/
|
213
|
-
- lib/karafka/
|
214
|
-
- lib/karafka/
|
215
|
-
- lib/karafka/
|
216
|
-
- lib/karafka/
|
235
|
+
- lib/karafka/connection/message_delegator.rb
|
236
|
+
- lib/karafka/consumers/batch_metadata.rb
|
237
|
+
- lib/karafka/consumers/callbacks.rb
|
238
|
+
- lib/karafka/consumers/includer.rb
|
239
|
+
- lib/karafka/consumers/responders.rb
|
240
|
+
- lib/karafka/consumers/single_params.rb
|
241
|
+
- lib/karafka/contracts.rb
|
242
|
+
- lib/karafka/contracts/config.rb
|
243
|
+
- lib/karafka/contracts/consumer_group.rb
|
244
|
+
- lib/karafka/contracts/consumer_group_topic.rb
|
245
|
+
- lib/karafka/contracts/responder_usage.rb
|
246
|
+
- lib/karafka/contracts/server_cli_options.rb
|
217
247
|
- lib/karafka/errors.rb
|
218
248
|
- lib/karafka/fetcher.rb
|
219
249
|
- lib/karafka/helpers/class_matcher.rb
|
220
250
|
- lib/karafka/helpers/config_retriever.rb
|
251
|
+
- lib/karafka/helpers/inflector.rb
|
221
252
|
- lib/karafka/helpers/multi_delegator.rb
|
222
|
-
- lib/karafka/
|
223
|
-
- lib/karafka/
|
224
|
-
- lib/karafka/
|
253
|
+
- lib/karafka/instrumentation/logger.rb
|
254
|
+
- lib/karafka/instrumentation/monitor.rb
|
255
|
+
- lib/karafka/instrumentation/proctitle_listener.rb
|
256
|
+
- lib/karafka/instrumentation/stdout_listener.rb
|
257
|
+
- lib/karafka/params/batch_metadata.rb
|
258
|
+
- lib/karafka/params/builders/batch_metadata.rb
|
259
|
+
- lib/karafka/params/builders/params.rb
|
260
|
+
- lib/karafka/params/builders/params_batch.rb
|
261
|
+
- lib/karafka/params/metadata.rb
|
225
262
|
- lib/karafka/params/params.rb
|
226
263
|
- lib/karafka/params/params_batch.rb
|
227
|
-
- lib/karafka/
|
228
|
-
- lib/karafka/
|
229
|
-
- lib/karafka/persistence/
|
264
|
+
- lib/karafka/patches/ruby_kafka.rb
|
265
|
+
- lib/karafka/persistence/client.rb
|
266
|
+
- lib/karafka/persistence/consumers.rb
|
267
|
+
- lib/karafka/persistence/topics.rb
|
230
268
|
- lib/karafka/process.rb
|
231
269
|
- lib/karafka/responders/builder.rb
|
232
270
|
- lib/karafka/responders/topic.rb
|
@@ -237,27 +275,28 @@ files:
|
|
237
275
|
- lib/karafka/routing/router.rb
|
238
276
|
- lib/karafka/routing/topic.rb
|
239
277
|
- lib/karafka/routing/topic_mapper.rb
|
240
|
-
- lib/karafka/
|
241
|
-
- lib/karafka/
|
242
|
-
- lib/karafka/schemas/consumer_group_topic.rb
|
243
|
-
- lib/karafka/schemas/responder_usage.rb
|
244
|
-
- lib/karafka/schemas/server_cli_options.rb
|
278
|
+
- lib/karafka/serialization/json/deserializer.rb
|
279
|
+
- lib/karafka/serialization/json/serializer.rb
|
245
280
|
- lib/karafka/server.rb
|
246
281
|
- lib/karafka/setup/config.rb
|
247
|
-
- lib/karafka/setup/configurators/base.rb
|
248
|
-
- lib/karafka/setup/configurators/celluloid.rb
|
249
282
|
- lib/karafka/setup/configurators/water_drop.rb
|
283
|
+
- lib/karafka/setup/dsl.rb
|
250
284
|
- lib/karafka/status.rb
|
251
|
-
- lib/karafka/templates/
|
252
|
-
- lib/karafka/templates/application_responder.rb.
|
253
|
-
- lib/karafka/templates/karafka.rb.
|
285
|
+
- lib/karafka/templates/application_consumer.rb.erb
|
286
|
+
- lib/karafka/templates/application_responder.rb.erb
|
287
|
+
- lib/karafka/templates/karafka.rb.erb
|
254
288
|
- lib/karafka/version.rb
|
255
289
|
- log/.gitkeep
|
256
|
-
homepage: https://
|
290
|
+
homepage: https://karafka.io
|
257
291
|
licenses:
|
258
292
|
- MIT
|
259
|
-
metadata:
|
260
|
-
|
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
|
261
300
|
rdoc_options: []
|
262
301
|
require_paths:
|
263
302
|
- lib
|
@@ -265,15 +304,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
265
304
|
requirements:
|
266
305
|
- - ">="
|
267
306
|
- !ruby/object:Gem::Version
|
268
|
-
version: 2.
|
307
|
+
version: '2.7'
|
269
308
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
309
|
requirements:
|
271
310
|
- - ">="
|
272
311
|
- !ruby/object:Gem::Version
|
273
312
|
version: '0'
|
274
313
|
requirements: []
|
275
|
-
|
276
|
-
rubygems_version: 2.6.13
|
314
|
+
rubygems_version: 3.3.7
|
277
315
|
signing_key:
|
278
316
|
specification_version: 4
|
279
317
|
summary: Ruby based framework for working with Apache Kafka
|
metadata.gz.sig
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
|
2
|
+
�N�r3�%�|�#��嗸�PF���<�a��z����{�)7���٩I��F��b3��Ռ�^`���f��A��.{�Z�X3
|
3
|
+
F:|����YǐQ9�[j�4�+��*�Ng�4V�$�pb���ۗ�\{r�Ⱦ"ܡ���s٨�� �T�2�m��m6ۯ�v>Ɂ�����<K����e�]�SM��F��n��V&����=8�#⦣�|.�J�ȹI��vMM%jR�u��ȟ�z!��C���u�k��TV��.��pU�_�M��'z�L��i���?*������
|
4
|
+
�Y�$/w�WҷE�r4+��`-S�C
|
5
|
+
[�6���_C*p{��V�5��l�z�\��iOj��<2�<7�@���0W������R|����+ch�{����
|
data/.github/ISSUE_TEMPLATE.md
DELETED
data/.travis.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
sudo: false
|
3
|
-
rvm:
|
4
|
-
- 2.3.0
|
5
|
-
- 2.3.1
|
6
|
-
- 2.3.2
|
7
|
-
- 2.3.3
|
8
|
-
- 2.3.4
|
9
|
-
- 2.4.0
|
10
|
-
- 2.4.1
|
11
|
-
- 2.4.2
|
12
|
-
- jruby-head
|
13
|
-
script: bundle exec rspec spec/
|
14
|
-
env:
|
15
|
-
global:
|
16
|
-
- JRUBY_OPTS='--debug'
|
17
|
-
install: bundle install --jobs=3 --retry=3
|