karafka 1.2.13 → 1.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +2 -0
  4. data/{.coditsu.yml → .coditsu/ci.yml} +1 -1
  5. data/.console_irbrc +1 -3
  6. data/.github/FUNDING.yml +3 -0
  7. data/.github/ISSUE_TEMPLATE/bug_report.md +50 -0
  8. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  9. data/.gitignore +1 -0
  10. data/.ruby-version +1 -1
  11. data/.travis.yml +8 -21
  12. data/CHANGELOG.md +91 -18
  13. data/CONTRIBUTING.md +1 -1
  14. data/Gemfile +2 -5
  15. data/Gemfile.lock +79 -65
  16. data/README.md +10 -11
  17. data/bin/karafka +1 -1
  18. data/certs/mensfeld.pem +25 -0
  19. data/config/errors.yml +38 -5
  20. data/karafka.gemspec +14 -12
  21. data/lib/karafka.rb +8 -15
  22. data/lib/karafka/app.rb +14 -6
  23. data/lib/karafka/attributes_map.rb +5 -12
  24. data/lib/karafka/base_consumer.rb +19 -30
  25. data/lib/karafka/base_responder.rb +45 -27
  26. data/lib/karafka/cli.rb +1 -1
  27. data/lib/karafka/cli/console.rb +11 -9
  28. data/lib/karafka/cli/flow.rb +5 -2
  29. data/lib/karafka/cli/info.rb +3 -1
  30. data/lib/karafka/cli/install.rb +30 -6
  31. data/lib/karafka/cli/server.rb +11 -6
  32. data/lib/karafka/code_reloader.rb +67 -0
  33. data/lib/karafka/connection/api_adapter.rb +11 -4
  34. data/lib/karafka/connection/batch_delegator.rb +51 -0
  35. data/lib/karafka/connection/builder.rb +1 -1
  36. data/lib/karafka/connection/client.rb +30 -20
  37. data/lib/karafka/connection/listener.rb +24 -13
  38. data/lib/karafka/connection/message_delegator.rb +36 -0
  39. data/lib/karafka/consumers/callbacks.rb +32 -15
  40. data/lib/karafka/consumers/includer.rb +30 -18
  41. data/lib/karafka/consumers/metadata.rb +10 -0
  42. data/lib/karafka/consumers/responders.rb +2 -2
  43. data/lib/karafka/contracts.rb +10 -0
  44. data/lib/karafka/contracts/config.rb +21 -0
  45. data/lib/karafka/contracts/consumer_group.rb +206 -0
  46. data/lib/karafka/contracts/consumer_group_topic.rb +19 -0
  47. data/lib/karafka/contracts/responder_usage.rb +54 -0
  48. data/lib/karafka/contracts/server_cli_options.rb +31 -0
  49. data/lib/karafka/errors.rb +17 -16
  50. data/lib/karafka/fetcher.rb +28 -30
  51. data/lib/karafka/helpers/class_matcher.rb +6 -2
  52. data/lib/karafka/helpers/config_retriever.rb +1 -1
  53. data/lib/karafka/helpers/inflector.rb +26 -0
  54. data/lib/karafka/helpers/multi_delegator.rb +0 -1
  55. data/lib/karafka/instrumentation/logger.rb +9 -6
  56. data/lib/karafka/instrumentation/monitor.rb +15 -9
  57. data/lib/karafka/instrumentation/proctitle_listener.rb +36 -0
  58. data/lib/karafka/instrumentation/stdout_listener.rb +138 -0
  59. data/lib/karafka/params/builders/metadata.rb +33 -0
  60. data/lib/karafka/params/builders/params.rb +36 -0
  61. data/lib/karafka/params/builders/params_batch.rb +25 -0
  62. data/lib/karafka/params/metadata.rb +35 -0
  63. data/lib/karafka/params/params.rb +68 -0
  64. data/lib/karafka/params/params_batch.rb +35 -20
  65. data/lib/karafka/patches/ruby_kafka.rb +21 -8
  66. data/lib/karafka/persistence/client.rb +15 -11
  67. data/lib/karafka/persistence/{consumer.rb → consumers.rb} +20 -13
  68. data/lib/karafka/persistence/topics.rb +48 -0
  69. data/lib/karafka/process.rb +0 -2
  70. data/lib/karafka/responders/topic.rb +6 -8
  71. data/lib/karafka/routing/builder.rb +36 -8
  72. data/lib/karafka/routing/consumer_group.rb +1 -1
  73. data/lib/karafka/routing/consumer_mapper.rb +9 -9
  74. data/lib/karafka/routing/proxy.rb +10 -1
  75. data/lib/karafka/routing/topic.rb +5 -3
  76. data/lib/karafka/routing/topic_mapper.rb +16 -18
  77. data/lib/karafka/serialization/json/deserializer.rb +27 -0
  78. data/lib/karafka/serialization/json/serializer.rb +31 -0
  79. data/lib/karafka/server.rb +25 -27
  80. data/lib/karafka/setup/config.rb +63 -37
  81. data/lib/karafka/setup/configurators/water_drop.rb +7 -3
  82. data/lib/karafka/setup/dsl.rb +0 -1
  83. data/lib/karafka/status.rb +7 -3
  84. data/lib/karafka/templates/{application_consumer.rb.example → application_consumer.rb.erb} +2 -1
  85. data/lib/karafka/templates/{application_responder.rb.example → application_responder.rb.erb} +0 -0
  86. data/lib/karafka/templates/karafka.rb.erb +92 -0
  87. data/lib/karafka/version.rb +1 -1
  88. metadata +90 -57
  89. metadata.gz.sig +0 -0
  90. data/lib/karafka/callbacks.rb +0 -30
  91. data/lib/karafka/callbacks/config.rb +0 -22
  92. data/lib/karafka/callbacks/dsl.rb +0 -16
  93. data/lib/karafka/connection/delegator.rb +0 -46
  94. data/lib/karafka/instrumentation/listener.rb +0 -112
  95. data/lib/karafka/loader.rb +0 -28
  96. data/lib/karafka/params/dsl.rb +0 -158
  97. data/lib/karafka/parsers/json.rb +0 -38
  98. data/lib/karafka/patches/dry_configurable.rb +0 -33
  99. data/lib/karafka/persistence/topic.rb +0 -29
  100. data/lib/karafka/schemas/config.rb +0 -24
  101. data/lib/karafka/schemas/consumer_group.rb +0 -79
  102. data/lib/karafka/schemas/consumer_group_topic.rb +0 -18
  103. data/lib/karafka/schemas/responder_usage.rb +0 -39
  104. data/lib/karafka/schemas/server_cli_options.rb +0 -43
  105. data/lib/karafka/setup/configurators/base.rb +0 -29
  106. data/lib/karafka/setup/configurators/params.rb +0 -25
  107. data/lib/karafka/templates/karafka.rb.example +0 -54
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d14a343dffbcc91c326964cc833bb82e9daedfdc4913eb6478c69e6caa5a995c
4
- data.tar.gz: 14c3b5a9275dae6a5fb70790b4caf579cd2e1d9a6ac5d56307d950090012ec3d
3
+ metadata.gz: ddf68ae4e3a502480b2cdede179dca9a62a89e61cd0f7878fdf46629b4204437
4
+ data.tar.gz: 3e0ba01212a750838e946d73216b7dd5b02a19d3a9ac55d094bafbe800af511b
5
5
  SHA512:
6
- metadata.gz: 890c1b249d3457984c2c392dc1bed2413f36704d1268247bd67b2fa70cd3489370786a71e6be6804aa9dc1e02136bc92e97a338c917577929f2a8e0aabaf07bc
7
- data.tar.gz: cf9a0043a4b82797bf0f6d36a8ba18c97702e22dd9fea25d5c1df13ca3b30b4255244d828e6cd3fba68807d2717209ae626d2a99a25f497a7e15b04d80168d6f
6
+ metadata.gz: 056b083736bf303d2de7f9aefa83151229b6a8c6f8e6b279c2e06eee41047b1dd31d3361a7b101b9a34572dd22934ac136f1fbb41771e8070cb2ffb24e5f4b1a
7
+ data.tar.gz: 53da753b3835e0c8621a80adcdc0992a7737a3bce1cf0563a27ce76391d4fecc7c55c9d927cd675bf7096074081b2e91073c3a30bbeabcc6c919067812a5a595
Binary file
@@ -0,0 +1,2 @@
1
+ EN�;Te�Ե-��A���\J;)���D���z+,��H�e��6Ζ�Δ��0��YӺ�Û��*������gCn��g�}�r�0m5������4�.,��7�5��U8 )ô ��AŐ�N�֑��� �{����
2
+ W�
@@ -1,3 +1,3 @@
1
+ repository_id: 'd4482d42-f6b5-44ba-a5e4-00989ac519ee'
1
2
  api_key: <%= ENV['CODITSU_API_KEY'] %>
2
3
  api_secret: <%= ENV['CODITSU_API_SECRET'] %>
3
- repository_id: <%= ENV['CODITSU_REPOSITORY_ID'] %>
@@ -1,11 +1,9 @@
1
1
  # irbrc for Karafka console
2
- require 'karafka'
3
- require Karafka.boot_file
4
2
 
5
3
  IRB.conf[:AUTO_INDENT] = true
6
4
  IRB.conf[:SAVE_HISTORY] = 1000
7
5
  IRB.conf[:USE_READLINE] = true
8
- IRB.conf[:HISTORY_FILE] = "#{Karafka::App.root}/.irb-history"
6
+ IRB.conf[:HISTORY_FILE] = ".irb-history"
9
7
  IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES)
10
8
 
11
9
  unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
@@ -0,0 +1,3 @@
1
+ # These are supported funding model platforms
2
+
3
+ open_collective: karafka
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Report an issue with Karafka you've discovered.
4
+ ---
5
+
6
+ *Be clear, concise and precise in your description of the problem.
7
+ Open an issue with a descriptive title and a summary in grammatically correct,
8
+ complete sentences.*
9
+
10
+ *Use the template below when reporting bugs. Please, make sure that
11
+ you're running the latest stable Karafka and that the problem you're reporting
12
+ hasn't been reported (and potentially fixed) already.*
13
+
14
+ *Before filing the ticket you should replace all text above the horizontal
15
+ rule with your own words.*
16
+
17
+ --------
18
+
19
+ ## Expected behavior
20
+
21
+ Describe here how you expected Karafka to behave in this particular situation.
22
+
23
+ ## Actual behavior
24
+
25
+ Describe here what actually happened.
26
+
27
+ ## Steps to reproduce the problem
28
+
29
+ This is extremely important! Providing us with a reliable way to reproduce
30
+ a problem will expedite its solution.
31
+
32
+ ## Your setup details
33
+
34
+ Please provide kafka version and the output of `karafka info` or `bundle exec karafka info` if using Bundler.
35
+
36
+ Here's an example:
37
+
38
+ ```
39
+ $ [bundle exec] karafka info
40
+ Karafka version: 1.3.0
41
+ Ruby version: 2.6.3
42
+ Ruby-kafka version: 0.7.9
43
+ Application client id: karafka-local
44
+ Backend: inline
45
+ Batch fetching: true
46
+ Batch consuming: true
47
+ Boot file: /app/karafka/karafka.rb
48
+ Environment: development
49
+ Kafka seed brokers: ["kafka://kafka:9092"]
50
+ ```
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Suggest new Karafka features or improvements to existing features.
4
+ ---
5
+
6
+ ## Is your feature request related to a problem? Please describe.
7
+
8
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9
+
10
+ ## Describe the solution you'd like
11
+
12
+ A clear and concise description of what you want to happen.
13
+
14
+ ## Describe alternatives you've considered
15
+
16
+ A clear and concise description of any alternative solutions or features you've considered.
17
+
18
+ ## Additional context
19
+
20
+ Add any other context or screenshots about the feature request here.
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  app.god
7
7
 
8
8
  # minimal Rails specific artifacts
9
+ /.coditsu/local.yml
9
10
  db/*.sqlite3
10
11
  /log/development.log
11
12
  /log/production.log
@@ -1 +1 @@
1
- 2.6.1
1
+ 2.7.0
@@ -12,38 +12,25 @@ test: &test
12
12
  stage: Test
13
13
  language: ruby
14
14
  before_install:
15
- - gem install bundler
16
- - gem update --system
15
+ - yes | gem update --system
17
16
  script: bundle exec rspec
18
17
 
19
18
  jobs:
20
19
  include:
21
20
  - <<: *test
22
- rvm: 2.6.1
21
+ rvm: 2.7.0
23
22
  - <<: *test
24
- rvm: 2.5.3
23
+ rvm: 2.6.5
25
24
  - <<: *test
26
- rvm: 2.4.5
27
- - <<: *test
28
- rvm: 2.3.8
25
+ rvm: 2.5.7
29
26
 
30
27
  - stage: coditsu
31
28
  language: ruby
32
- rvm: 2.6.1
29
+ rvm: 2.7.0
33
30
  before_install:
34
- - gem update --system
35
- - gem install bundler
36
- before_script:
37
- - docker create -v /sources --name sources alpine:3.4 /bin/true
38
- - docker cp ./ sources:/sources
39
- script: >
40
- docker run
41
- -e CODITSU_API_KEY
42
- -e CODITSU_API_SECRET
43
- -e CODITSU_REPOSITORY_ID
44
- --volumes-from sources
45
- coditsu/build-runner:latest
31
+ - yes | gem update --system
32
+ script: \curl -sSL https://api.coditsu.io/run/ci | bash
46
33
 
47
34
  stages:
48
- - coditsu
49
35
  - test
36
+ - coditsu
@@ -1,10 +1,80 @@
1
1
  # Karafka framework changelog
2
2
 
3
- ## 1.2.13
4
- - Add support for parameter sasl_over_ssl in ruby-kafka
5
-
6
- ## 1.2.12
3
+ ## 1.3.4 (2020-02-17)
4
+ - `dry-configurable` upgrade (solnic)
5
+ - Remove temporary `thor` patches that are no longer needed
6
+
7
+ ## 1.3.3 (2019-12-23)
8
+ - Require `delegate` to fix missing dependency in `ruby-kafka`
9
+
10
+ ## 1.3.2 (2019-12-23)
11
+ - #561 - Allow `thor` 1.0.x usage in Karafka
12
+ - #567 - Ruby 2.7.0 support + unfreeze of a frozen string fix
13
+
14
+ ## 1.3.1 (2019-11-11)
15
+ - #545 - Makes sure the log directory exists when is possible (robertomiranda)
16
+ - Ruby 2.6.5 support
17
+ - #551 - add support for DSA keys
18
+ - #549 - Missing directories after `karafka install` (nijikon)
19
+
20
+ ## 1.3.0 (2019-09-09)
21
+ - Drop support for Ruby 2.4
22
+ - YARD docs tags cleanup
23
+
24
+ ## 1.3.0.rc1 (2019-07-31)
25
+ - Drop support for Kafka 0.10 in favor of native support for Kafka 0.11.
26
+ - Update ruby-kafka to the 0.7 version
27
+ - Support messages headers receiving
28
+ - Message bus unification
29
+ - Parser available in metadata
30
+ - Cleanup towards moving to a non-global state app management
31
+ - Drop Ruby 2.3 support
32
+ - Support for Ruby 2.6.3
33
+ - `Karafka::Loader` has been removed in favor of Zeitwerk
34
+ - Schemas are now contracts
35
+ - #393 - Reorganize responders - removed `multiple_usage` constrain
36
+ - #388 - ssl_client_cert_chain sync
37
+ - #300 - Store value in a value key and replace its content with parsed version - without root merge
38
+ - #331 - Disallow building groups without topics
39
+ - #340 - Instrumentation unification. Better and more consistent naming
40
+ - #340 - Procline instrumentation for a nicer process name
41
+ - #342 - Change default for `fetcher_max_queue_size` from `100` to `10` to lower max memory usage
42
+ - #345 - Cleanup exceptions names
43
+ - #341 - Split connection delegator into batch delegator and single_delegator
44
+ - #351 - Rename `#retrieve!` to `#parse!` on params and `#parsed` to `parse!` on params batch.
45
+ - #351 - Adds '#first' for params_batch that returns parsed first element from the params_batch object.
46
+ - #360 - Single params consuming mode automatically parses data specs
47
+ - #359 - Divide mark_as_consumed into mark_as_consumed and mark_as_consumed!
48
+ - #356 - Provide a `#values` for params_batch to extract only values of objects from the params_batch
49
+ - #363 - Too shallow ruby-kafka version lock
50
+ - #354 - Expose consumer heartbeat
51
+ - #377 - Remove the persistent setup in favor of persistence
52
+ - #375 - Sidekiq Backend parser mismatch
53
+ - #369 - Single consumer can support more than one topic
54
+ - #288 - Drop dependency on `activesupport` gem
55
+ - #371 - SASL over SSL
56
+ - #392 - Move params redundant data to metadata
57
+ - #335 - Metadata access from within the consumer
58
+ - #402 - Delayed reconnection upon critical failures
59
+ - #405 - `reconnect_timeout` value is now being validated
60
+ - #437 - Specs ensuring that the `#437` won't occur in the `1.3` release
61
+ - #426 - ssl client cert key password
62
+ - #444 - add certificate and private key validation
63
+ - #460 - Decouple responder "parser" (generator?) from topic.parser (benissimo)
64
+ - #463 - Split parsers into serializers / deserializers
65
+ - #473 - Support SASL OAuthBearer Authentication
66
+ - #475 - Disallow subscribing to the same topic with multiple consumers
67
+ - #485 - Setting shutdown_timeout to nil kills the app without waiting for anything
68
+ - #487 - Make listeners as instances
7
69
  - #29 - Consumer class names must have the word "Consumer" in it in order to work (Sidekiq backend)
70
+ - #491 - irb is missing for console to work
71
+ - #502 - Karafka process hangs when sending multiple sigkills
72
+ - #506 - ssl_verify_hostname sync
73
+ - #483 - Upgrade dry-validation before releasing 1.3
74
+ - #492 - Use Zeitwerk for code reload in development
75
+ - #508 - Reset the consumers instances upon reconnecting to a cluster
76
+ - [#530](https://github.com/karafka/karafka/pull/530) - expose ruby and ruby-kafka version
77
+ - [534](https://github.com/karafka/karafka/pull/534) - Allow to use headers in the deserializer object
8
78
 
9
79
  ## 1.2.11
10
80
  - [#470](https://github.com/karafka/karafka/issues/470) Karafka not working with dry-configurable 0.8
@@ -27,6 +97,7 @@
27
97
  ## 1.2.6
28
98
  - Lock WaterDrop to 1.2.3
29
99
  - Lock Ruby-Kafka to 0.6.x (support for 0.7 will be added in Karafka 1.3)
100
+ - #382 - Full logging with AR, etc for development mode when there is Rails integration
30
101
 
31
102
  ## 1.2.5
32
103
  - #354 - Expose consumer heartbeat
@@ -37,10 +108,12 @@
37
108
 
38
109
  ## 1.2.3
39
110
  - #313 - support PLAINTEXT and SSL for scheme
40
- - #320 - Pausing indefinetely with nil pause timeout doesn't work
111
+ - #288 - drop activesupport callbacks in favor of notifications
112
+ - #320 - Pausing indefinitely with nil pause timeout doesn't work
41
113
  - #318 - Partition pausing doesn't work with custom topic mappers
42
114
  - Rename ConfigAdapter to ApiAdapter to better reflect what it does
43
115
  - #317 - Manual offset committing doesn't work with custom topic mappers
116
+ - #319 - Support for exponential backoff in pause
44
117
 
45
118
  ## 1.2.2
46
119
  - #312 - Broken for ActiveSupport 5.2.0
@@ -165,7 +238,7 @@
165
238
  - Switch to multi json so everyone can use their favourite JSON parser
166
239
  - Added jruby support in general and in Travis
167
240
  - #196 - Topic mapper does not map topics when subscribing thanks to @webandtech
168
- - #96 - Karafka server - possiblity to run it only for a certain topics
241
+ - #96 - Karafka server - possibility to run it only for a certain topics
169
242
  - ~~karafka worker cli option is removed (please use sidekiq directly)~~ - restored, bad idea
170
243
  - (optional) pausing upon processing failures ```pause_timeout```
171
244
  - Karafka console main process no longer intercepts irb errors
@@ -173,7 +246,7 @@
173
246
  - #204 - Long running controllers
174
247
  - Better internal API to handle multiple usage cases using ```Karafka::Controllers::Includer```
175
248
  - #207 - Rename before_enqueued to after_received
176
- - #147 - Deattach Karafka from Sidekiq by extracting Sidekiq backend
249
+ - #147 - De-attach Karafka from Sidekiq by extracting Sidekiq backend
177
250
 
178
251
  ### New features and improvements
179
252
 
@@ -258,7 +331,7 @@
258
331
  - Waterdrop 0.3.2.1 with kafka.hosts instead of kafka_hosts
259
332
  - #105 - Karafka::Monitor#caller_label not working with inherited monitors
260
333
  - #99 - Standalone mode (without Sidekiq)
261
- - #97 - Buffer responders single topics before send (prevalidation)
334
+ - #97 - Buffer responders single topics before send (pre-validation)
262
335
  - Better control over consumer thanks to additional config options
263
336
  - #111 - Dynamic worker assignment based on the income params
264
337
  - Long shutdown time fix
@@ -266,7 +339,7 @@
266
339
  ## 0.5.0
267
340
  - Removed Zookeeper totally as dependency
268
341
  - Better group and partition rebalancing
269
- - Automatic thread management (no need for tunning) - each topic is a separate actor/thread
342
+ - Automatic thread management (no need for tuning) - each topic is a separate actor/thread
270
343
  - Moved from Poseidon into Ruby-Kafka
271
344
  - No more max_concurrency setting
272
345
  - After you define your App class and routes (and everything else) you need to add execute App.boot!
@@ -282,14 +355,14 @@
282
355
  - Ruby 2.2.* support dropped
283
356
  - Using App name as a Kafka client_id
284
357
  - Automatic Capistrano integration
285
- - Responders support for handling better responses pipelining and better responses flow description and design (see README for more details)
358
+ - Responders support for handling better responses pipe-lining and better responses flow description and design (see README for more details)
286
359
  - Gem bump
287
360
  - Readme updates
288
361
  - karafka flow CLI command for printing the application flow
289
- - Some internal refactorings
362
+ - Some internal refactoring
290
363
 
291
364
  ## 0.4.2
292
- - #87 - Reconsume mode with crone for better Rails/Rack integration
365
+ - #87 - Re-consume mode with crone for better Rails/Rack integration
293
366
  - Moved Karafka server related stuff into separate Karafka::Server class
294
367
  - Renamed Karafka::Runner into Karafka::Fetcher
295
368
  - Gem bump
@@ -301,7 +374,7 @@
301
374
 
302
375
  ## 0.4.1
303
376
  - Explicit throw(:abort) required to halt before_enqueue (like in Rails 5)
304
- - #61 - Autodiscover Kafka brokers based on Zookeeper data
377
+ - #61 - autodiscovery of Kafka brokers based on Zookeeper data
305
378
  - #63 - Graceful shutdown with current offset state during data processing
306
379
  - #65 - Example of NewRelic monitor is outdated
307
380
  - #71 - Setup should be executed after user code is loaded
@@ -357,7 +430,7 @@
357
430
  - Added Karafka::Monitoring that allows to add custom logging and monitoring with external libraries and systems
358
431
  - Moved logging functionality into Karafka::Monitoring default monitoring
359
432
  - Added possibility to provide own monitoring as long as in responds to #notice and #notice_error
360
- - Standarized logging format for all logs
433
+ - Standardized logging format for all logs
361
434
 
362
435
  ## 0.3.0
363
436
  - Switched from custom ParserError for each parser to general catching of Karafka::Errors::ParseError and its descendants
@@ -374,7 +447,7 @@
374
447
 
375
448
  ## 0.1.19
376
449
  - Internal call - schedule naming change
377
- - Enqueue to perform_async naming in controller to follow Sidekiqs naming convention
450
+ - Enqueue to perform_async naming in controller to follow Sidekiq naming convention
378
451
  - Gem bump
379
452
 
380
453
  ## 0.1.18
@@ -385,7 +458,7 @@
385
458
  - Changed Karafka::Connection::Cluster tp Karafka::Connection::ActorCluster to distinguish between a single thread actor cluster for multiple topic connection and a future feature that will allow process clusterization.
386
459
  - Add an ability to use user-defined parsers for a messages
387
460
  - Lazy load params for before callbacks
388
- - Automatic loading/initializng all workers classes during startup (so Sidekiq won't fail with unknown workers exception)
461
+ - Automatic loading/initializing all workers classes during startup (so Sidekiq won't fail with unknown workers exception)
389
462
  - Params are now private to controller
390
463
  - Added bootstrap method to app.rb
391
464
 
@@ -426,7 +499,7 @@
426
499
  - Added worker logger
427
500
 
428
501
  ## 0.1.8
429
- - Droped local env suppot in favour of [Envlogic](https://github.com/karafka/envlogic) - no changes in API
502
+ - Dropped local env support in favour of [Envlogic](https://github.com/karafka/envlogic) - no changes in API
430
503
 
431
504
  ## 0.1.7
432
505
  - Karafka option for Redis hosts (not localhost only)
@@ -456,7 +529,7 @@
456
529
 
457
530
  ## 0.1.1
458
531
  - README updates
459
- - Raketasks updates
532
+ - Rake tasks updates
460
533
  - Rake installation task
461
534
  - Changelog file added
462
535
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  First, thank you for considering contributing to karafka! It's people like you that make the open source community such a great community! 😊
6
6
 
7
- We welcome any type of contribution, not only code. You can help with
7
+ We welcome any type of contribution, not only code. You can help with:
8
8
  - **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open)
9
9
  - **Marketing**: writing blog posts, howto's, printing stickers, ...
10
10
  - **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ...
data/Gemfile CHANGED
@@ -4,12 +4,9 @@ source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
6
 
7
- group :development, :test do
8
- gem 'benchmark-ips'
9
- end
10
-
11
7
  group :test do
8
+ gem 'byebug'
9
+ gem 'factory_bot'
12
10
  gem 'rspec'
13
11
  gem 'simplecov'
14
- gem 'timecop'
15
12
  end
@@ -1,126 +1,140 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka (1.2.13)
5
- activesupport (>= 4.0)
4
+ karafka (1.3.4)
6
5
  dry-configurable (~> 0.8)
7
6
  dry-inflector (~> 0.1)
8
7
  dry-monitor (~> 0.3)
9
- dry-validation (~> 0.11)
10
- envlogic (~> 1.0)
8
+ dry-validation (~> 1.2)
9
+ envlogic (~> 1.1)
10
+ irb (~> 1.0)
11
11
  multi_json (>= 1.12)
12
12
  rake (>= 11.3)
13
- require_all (>= 1.4)
14
- ruby-kafka (>= 0.6)
15
- thor (~> 0.20)
16
- waterdrop (~> 1.2.4)
13
+ ruby-kafka (>= 0.7.8)
14
+ thor (>= 0.20)
15
+ waterdrop (~> 1.3.0)
16
+ zeitwerk (~> 2.1)
17
17
 
18
18
  GEM
19
19
  remote: https://rubygems.org/
20
20
  specs:
21
- activesupport (5.2.3)
21
+ activesupport (6.0.2.1)
22
22
  concurrent-ruby (~> 1.0, >= 1.0.2)
23
23
  i18n (>= 0.7, < 2)
24
24
  minitest (~> 5.1)
25
25
  tzinfo (~> 1.1)
26
- benchmark-ips (2.7.2)
27
- concurrent-ruby (1.1.5)
28
- delivery_boy (0.2.7)
29
- king_konf (~> 0.2)
30
- ruby-kafka (~> 0.5)
26
+ zeitwerk (~> 2.2)
27
+ byebug (11.1.1)
28
+ concurrent-ruby (1.1.6)
29
+ delivery_boy (1.0.0)
30
+ king_konf (~> 0.3)
31
+ ruby-kafka (~> 0.7.8)
31
32
  diff-lcs (1.3)
32
33
  digest-crc (0.4.1)
33
- docile (1.3.1)
34
- dry-configurable (0.8.2)
34
+ docile (1.3.2)
35
+ dry-configurable (0.11.0)
35
36
  concurrent-ruby (~> 1.0)
36
37
  dry-core (~> 0.4, >= 0.4.7)
37
- dry-container (0.7.0)
38
+ dry-equalizer (~> 0.2)
39
+ dry-container (0.7.2)
38
40
  concurrent-ruby (~> 1.0)
39
41
  dry-configurable (~> 0.1, >= 0.1.3)
40
- dry-core (0.4.7)
42
+ dry-core (0.4.9)
41
43
  concurrent-ruby (~> 1.0)
42
- dry-equalizer (0.2.2)
43
- dry-events (0.1.1)
44
+ dry-equalizer (0.3.0)
45
+ dry-events (0.2.0)
44
46
  concurrent-ruby (~> 1.0)
45
47
  dry-core (~> 0.4)
46
48
  dry-equalizer (~> 0.2)
47
- dry-inflector (0.1.2)
48
- dry-logic (0.6.1)
49
+ dry-inflector (0.2.0)
50
+ dry-initializer (3.0.3)
51
+ dry-logic (1.0.6)
49
52
  concurrent-ruby (~> 1.0)
50
53
  dry-core (~> 0.2)
51
54
  dry-equalizer (~> 0.2)
52
- dry-monitor (0.3.0)
55
+ dry-monitor (0.3.1)
53
56
  dry-configurable (~> 0.5)
54
57
  dry-core (~> 0.4)
55
58
  dry-equalizer (~> 0.2)
56
59
  dry-events (~> 0.1)
57
- dry-types (0.14.1)
60
+ dry-schema (1.4.3)
61
+ concurrent-ruby (~> 1.0)
62
+ dry-configurable (~> 0.8, >= 0.8.3)
63
+ dry-core (~> 0.4)
64
+ dry-equalizer (~> 0.2)
65
+ dry-initializer (~> 3.0)
66
+ dry-logic (~> 1.0)
67
+ dry-types (~> 1.2)
68
+ dry-types (1.3.1)
58
69
  concurrent-ruby (~> 1.0)
59
70
  dry-container (~> 0.3)
60
71
  dry-core (~> 0.4, >= 0.4.4)
61
- dry-equalizer (~> 0.2)
72
+ dry-equalizer (~> 0.3)
62
73
  dry-inflector (~> 0.1, >= 0.1.2)
63
- dry-logic (~> 0.5, >= 0.5)
64
- dry-validation (0.13.2)
74
+ dry-logic (~> 1.0, >= 1.0.2)
75
+ dry-validation (1.4.2)
65
76
  concurrent-ruby (~> 1.0)
66
- dry-configurable (~> 0.1, >= 0.1.3)
67
- dry-core (~> 0.2, >= 0.2.1)
77
+ dry-container (~> 0.7, >= 0.7.1)
78
+ dry-core (~> 0.4)
68
79
  dry-equalizer (~> 0.2)
69
- dry-logic (~> 0.5, >= 0.5.0)
70
- dry-types (~> 0.14.0)
80
+ dry-initializer (~> 3.0)
81
+ dry-schema (~> 1.4, >= 1.4.3)
71
82
  envlogic (1.1.0)
72
83
  dry-inflector (~> 0.1)
73
- i18n (1.6.0)
84
+ factory_bot (5.1.1)
85
+ activesupport (>= 4.2.0)
86
+ i18n (1.8.2)
74
87
  concurrent-ruby (~> 1.0)
75
- json (2.1.0)
88
+ io-console (0.5.5)
89
+ irb (1.2.3)
90
+ reline (>= 0.0.1)
76
91
  king_konf (0.3.7)
77
- minitest (5.11.3)
78
- multi_json (1.13.1)
79
- null-logger (0.1.5)
80
- rake (12.3.2)
81
- require_all (2.0.0)
82
- rspec (3.8.0)
83
- rspec-core (~> 3.8.0)
84
- rspec-expectations (~> 3.8.0)
85
- rspec-mocks (~> 3.8.0)
86
- rspec-core (3.8.0)
87
- rspec-support (~> 3.8.0)
88
- rspec-expectations (3.8.2)
92
+ minitest (5.14.0)
93
+ multi_json (1.14.1)
94
+ rake (13.0.1)
95
+ reline (0.1.3)
96
+ io-console (~> 0.5)
97
+ rspec (3.9.0)
98
+ rspec-core (~> 3.9.0)
99
+ rspec-expectations (~> 3.9.0)
100
+ rspec-mocks (~> 3.9.0)
101
+ rspec-core (3.9.1)
102
+ rspec-support (~> 3.9.1)
103
+ rspec-expectations (3.9.0)
89
104
  diff-lcs (>= 1.2.0, < 2.0)
90
- rspec-support (~> 3.8.0)
91
- rspec-mocks (3.8.0)
105
+ rspec-support (~> 3.9.0)
106
+ rspec-mocks (3.9.1)
92
107
  diff-lcs (>= 1.2.0, < 2.0)
93
- rspec-support (~> 3.8.0)
94
- rspec-support (3.8.0)
95
- ruby-kafka (0.7.7)
108
+ rspec-support (~> 3.9.0)
109
+ rspec-support (3.9.2)
110
+ ruby-kafka (0.7.10)
96
111
  digest-crc
97
- simplecov (0.16.1)
112
+ simplecov (0.18.2)
98
113
  docile (~> 1.1)
99
- json (>= 1.8, < 3)
100
- simplecov-html (~> 0.10.0)
101
- simplecov-html (0.10.2)
102
- thor (0.20.3)
114
+ simplecov-html (~> 0.11)
115
+ simplecov-html (0.12.0)
116
+ thor (1.0.1)
103
117
  thread_safe (0.3.6)
104
- timecop (0.9.1)
105
- tzinfo (1.2.5)
118
+ tzinfo (1.2.6)
106
119
  thread_safe (~> 0.1)
107
- waterdrop (1.2.5)
108
- delivery_boy (~> 0.2)
120
+ waterdrop (1.3.3)
121
+ delivery_boy (>= 0.2, < 2.x)
109
122
  dry-configurable (~> 0.8)
110
123
  dry-monitor (~> 0.3)
111
- dry-validation (~> 0.11)
112
- null-logger (~> 0.1)
113
- ruby-kafka (>= 0.6)
124
+ dry-validation (~> 1.2)
125
+ ruby-kafka (>= 0.7.8)
126
+ zeitwerk (~> 2.1)
127
+ zeitwerk (2.2.2)
114
128
 
115
129
  PLATFORMS
116
130
  ruby
117
131
 
118
132
  DEPENDENCIES
119
- benchmark-ips
133
+ byebug
134
+ factory_bot
120
135
  karafka!
121
136
  rspec
122
137
  simplecov
123
- timecop
124
138
 
125
139
  BUNDLED WITH
126
- 2.0.1
140
+ 2.1.4