karafka 1.2.13 → 1.3.4

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.
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