karafka-web 0.9.0.rc1 → 0.9.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb0a26726917ff55929bb34bf81e4a0a7b6f1e5db0e6c34fe11b85c2601cd9df
4
- data.tar.gz: 20664c3ce3931cc4c770af78fe1ced92690cf5dd8f58bf0f24b7a05ecb05982a
3
+ metadata.gz: 7b9269c18c046b827e3637a81ffbf7628b34406aebf35acd1fb110d96cadc45f
4
+ data.tar.gz: f7a0813ae649545ca5693963d317f361f687b6a53ca26f364900b48b1ab4f13d
5
5
  SHA512:
6
- metadata.gz: b566ebc2f5c500e31fe4b20106fdf9adb022f89079109cd3131c6dd7950dbddedbbea1c389764c9e5c197074073da606aec9b3029303877e5b68123447bbf28b
7
- data.tar.gz: 341b8acc29d5cd21c93d84227b86b4674390c50e3f43920837d5b3caaa286676cace4ea35d66c67349c04431733162a8720340ab2c297898a9a7548d5cc937df
6
+ metadata.gz: a9e3ed0e1851d5d832c3777fb83f36d018f9bd8f17db8a6234cc2b7ceaf60bd3ebaf0c1f889433b91d0949d60bbd985ac0f8463fde29a298beb7cea0af6e9722
7
+ data.tar.gz: 0d98ba7bb80eb6d60dc9bfed4928ce4d85b9c9497482d5273cacd14656740eba36a00cd767d09fab10cd47b5320a32759d4014d7e65b0a0f14e9e7459f6a023b
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -18,6 +18,7 @@
18
18
  - [Enhancement] Provide page titles for ease of navigation.
19
19
  - [Change] Rename Cluster => Topics to Cluster => Replication to better align with what is shows.
20
20
  - [Change] Make support messages more entertaining.
21
+ - [Change] Rename `processing.consumer_group` to `admin.group_id` for consistency with Karafka.
21
22
  - [Refactor] Normalize what is process name and process id.
22
23
  - [Refactor] Create one `pro/` namespace for all Web related sub-modules.
23
24
  - [Refactor] Extract alerts into a common component.
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka-web (0.9.0.rc1)
4
+ karafka-web (0.9.0.rc3)
5
5
  erubi (~> 1.4)
6
- karafka (>= 2.4.0.beta1, < 2.5.0)
7
- karafka-core (>= 2.4.0.rc1, < 2.5.0)
6
+ karafka (>= 2.4.0.rc1, < 2.5.0)
7
+ karafka-core (>= 2.4.0.rc2, < 2.5.0)
8
8
  roda (~> 3.68, >= 3.69)
9
9
  tilt (~> 2.0)
10
10
 
@@ -35,13 +35,13 @@ GEM
35
35
  ffi (1.16.3)
36
36
  i18n (1.14.4)
37
37
  concurrent-ruby (~> 1.0)
38
- karafka (2.4.0.beta1)
39
- karafka-core (>= 2.4.0.rc1, < 2.5.0)
40
- waterdrop (>= 2.7.0.rc1, < 3.0.0)
38
+ karafka (2.4.0.rc1)
39
+ karafka-core (>= 2.4.0.rc2, < 2.5.0)
40
+ waterdrop (>= 2.7.0.rc2, < 3.0.0)
41
41
  zeitwerk (~> 2.3)
42
- karafka-core (2.4.0.rc1)
43
- karafka-rdkafka (>= 0.15.0.rc1, < 0.16.0)
44
- karafka-rdkafka (0.15.0.rc1)
42
+ karafka-core (2.4.0.rc2)
43
+ karafka-rdkafka (>= 0.15.0.rc2, < 0.16.0)
44
+ karafka-rdkafka (0.15.0.rc2)
45
45
  ffi (~> 1.15)
46
46
  mini_portile2 (~> 2.6)
47
47
  rake (> 12)
@@ -79,8 +79,8 @@ GEM
79
79
  tilt (2.3.0)
80
80
  tzinfo (2.0.6)
81
81
  concurrent-ruby (~> 1.0)
82
- waterdrop (2.7.0.rc1)
83
- karafka-core (>= 2.4.0.rc1, < 3.0.0)
82
+ waterdrop (2.7.0.rc2)
83
+ karafka-core (>= 2.4.0.rc2, < 3.0.0)
84
84
  zeitwerk (~> 2.3)
85
85
  webrick (1.8.1)
86
86
  zeitwerk (2.6.13)
data/docker-compose.yml CHANGED
@@ -3,7 +3,7 @@ version: '2'
3
3
  services:
4
4
  kafka:
5
5
  container_name: kafka
6
- image: confluentinc/cp-kafka:7.6.0
6
+ image: confluentinc/cp-kafka:7.6.1
7
7
 
8
8
  ports:
9
9
  - 9092:9092
data/karafka-web.gemspec CHANGED
@@ -17,8 +17,8 @@ Gem::Specification.new do |spec|
17
17
  spec.licenses = %w[LGPL-3.0 Commercial]
18
18
 
19
19
  spec.add_dependency 'erubi', '~> 1.4'
20
- spec.add_dependency 'karafka', '>= 2.4.0.beta1', '< 2.5.0'
21
- spec.add_dependency 'karafka-core', '>= 2.4.0.rc1', '< 2.5.0'
20
+ spec.add_dependency 'karafka', '>= 2.4.0.rc1', '< 2.5.0'
21
+ spec.add_dependency 'karafka-core', '>= 2.4.0.rc2', '< 2.5.0'
22
22
  spec.add_dependency 'roda', '~> 3.68', '>= 3.69'
23
23
  spec.add_dependency 'tilt', '~> 2.0'
24
24
 
@@ -26,6 +26,12 @@ module Karafka
26
26
  lazy: true
27
27
  )
28
28
 
29
+ # What should be the consumer group name for web UI consumer
30
+ # Karafka Web UI uses the Admin API for many operations, but there are few
31
+ # (like states materialization) where a distinct consumer group is needed. In cases like that
32
+ # this group id will be used
33
+ setting :group_id, default: 'karafka_web'
34
+
29
35
  # Topics naming - used for processing and UI
30
36
  setting :topics do
31
37
  # All the errors encountered will be dispatched to this topic for inspection
@@ -108,9 +114,6 @@ module Karafka
108
114
  # apps should materialize the state
109
115
  setting :active, default: true
110
116
 
111
- # What should be the consumer group name for web consumer
112
- setting :consumer_group, default: 'karafka_web'
113
-
114
117
  # How often should we report the aggregated state and metrics
115
118
  # By default we flush the states twice as often as the data reporting.
116
119
  # This will allow us to have closer to real-time reporting.
@@ -12,6 +12,7 @@ module Karafka
12
12
 
13
13
  required(:enabled) { |val| [true, false, nil].include?(val) }
14
14
  required(:ttl) { |val| val.is_a?(Numeric) && val.positive? }
15
+ required(:group_id) { |val| val.is_a?(String) && TOPIC_REGEXP.match?(val) }
15
16
 
16
17
  nested(:topics) do
17
18
  required(:errors) { |val| val.is_a?(String) && TOPIC_REGEXP.match?(val) }
@@ -44,7 +45,6 @@ module Karafka
44
45
 
45
46
  nested(:processing) do
46
47
  required(:active) { |val| [true, false].include?(val) }
47
- required(:consumer_group) { |val| val.is_a?(String) && TOPIC_REGEXP.match?(val) }
48
48
  # Do not update data more often not to overload and not to generate too much data
49
49
  required(:interval) { |val| val.is_a?(Integer) && val >= 1_000 }
50
50
  end
@@ -39,7 +39,7 @@ module Karafka
39
39
  ::Karafka::App.routes.draw do
40
40
  payload_deserializer = ::Karafka::Web::Deserializer.new
41
41
 
42
- consumer_group ::Karafka::Web.config.processing.consumer_group do
42
+ consumer_group ::Karafka::Web.config.group_id do
43
43
  # Topic we listen on to materialize the states
44
44
  topic ::Karafka::Web.config.topics.consumers.reports do
45
45
  config(active: false)
@@ -22,12 +22,6 @@ module Karafka
22
22
  # Management of processes is enabled by default
23
23
  setting :active, default: true
24
24
 
25
- # What consumer group to use for the commanding subscription.
26
- # In general this CG is irrelevant. Required but irrelevant unless you're using ACLs
27
- # as in that case you will have to grant it permissions. This CG never stores any
28
- # offsets as the underlying assignment is via assign API and not subscribe one.
29
- setting :consumer_group, default: 'karafka_web'
30
-
31
25
  # How long should we wait on command arrival before yielding. Having it too short will
32
26
  # cause unnecessary CPU cycles. Too long will make shutdown slower.
33
27
  setting :max_wait_time, default: 2_000
@@ -32,10 +32,6 @@ module Karafka
32
32
  required(:pause_timeout) { |val| val.is_a?(Integer) && val.positive? }
33
33
  required(:max_wait_time) { |val| val.is_a?(Integer) && val.positive? }
34
34
  required(:kafka) { |val| val.is_a?(Hash) }
35
-
36
- required(:consumer_group) do |val|
37
- val.is_a?(String) && Karafka::Web::Contracts::Config::TOPIC_REGEXP.match?(val)
38
- end
39
35
  end
40
36
 
41
37
  # Ensure all commanding kafka keys are symbols
@@ -35,7 +35,7 @@ module Karafka
35
35
 
36
36
  iterator = Karafka::Pro::Iterator.new(
37
37
  { t_config.consumers.commands => true },
38
- settings: c_config.kafka.merge('group.id' => c_config.consumer_group),
38
+ settings: c_config.kafka,
39
39
  yield_nil: true,
40
40
  max_wait_time: c_config.max_wait_time
41
41
  )
@@ -1,7 +1,7 @@
1
1
  <tr>
2
2
  <td>
3
3
  <a href="<%= root_path('consumers', job.process.id, 'subscriptions') %>">
4
- <%== truncate(job.process.name, strategy: :middle) %>
4
+ <%== truncate(job.process.id, strategy: :middle) %>
5
5
  </a>
6
6
  </td>
7
7
  <td>
@@ -13,7 +13,7 @@
13
13
  <table class="processes bg-white table table-hover table-bordered table-striped mb-0 align-middle">
14
14
  <thead>
15
15
  <tr class="align-middle">
16
- <th rowspan="2"><%== sort_link('Process', :name) %></th>
16
+ <th rowspan="2"><%== sort_link('Process', :id) %></th>
17
17
  <th rowspan="2"><%== sort_link(:topic) %></th>
18
18
  <th rowspan="2"><%== sort_link(:consumer) %></th>
19
19
  <th rowspan="2"><%== sort_link(:type) %></th>
@@ -13,7 +13,7 @@
13
13
  <table class="processes bg-white table table-hover table-bordered table-striped mb-0 align-middle">
14
14
  <thead>
15
15
  <tr class="align-middle">
16
- <th rowspan="2"><%== sort_link('Process', :name) %></th>
16
+ <th rowspan="2"><%== sort_link('Process', :id) %></th>
17
17
  <th rowspan="2"><%== sort_link(:topic) %></th>
18
18
  <th rowspan="2"><%== sort_link(:consumer) %></th>
19
19
  <th rowspan="2"><%== sort_link(:type) %></th>
@@ -44,7 +44,7 @@ module Karafka
44
44
  # aware of the deserializer, etc
45
45
  def enabled
46
46
  enabled = ::Karafka::App.routes.map(&:name).include?(
47
- ::Karafka::Web.config.processing.consumer_group
47
+ ::Karafka::Web.config.group_id
48
48
  )
49
49
 
50
50
  Step.new(
@@ -13,7 +13,7 @@
13
13
  <table class="processes bg-white table table-hover table-bordered table-striped mb-0 align-middle">
14
14
  <thead>
15
15
  <tr class="align-middle">
16
- <th><%== sort_link('Process', :name) %></th>
16
+ <th><%== sort_link('Process', :id) %></th>
17
17
  <th><%== sort_link(:topic) %></th>
18
18
  <th><%== sort_link(:consumer) %></th>
19
19
  <th><%== sort_link(:type) %></th>
@@ -13,7 +13,7 @@
13
13
  <table class="processes bg-white table table-hover table-bordered table-striped mb-0 align-middle">
14
14
  <thead>
15
15
  <tr class="align-middle">
16
- <th><%== sort_link('Process', :name) %></th>
16
+ <th><%== sort_link('Process', :id) %></th>
17
17
  <th><%== sort_link(:topic) %></th>
18
18
  <th><%== sort_link(:consumer) %></th>
19
19
  <th><%== sort_link(:type) %></th>
@@ -3,6 +3,6 @@
3
3
  module Karafka
4
4
  module Web
5
5
  # Current gem version
6
- VERSION = '0.9.0.rc1'
6
+ VERSION = '0.9.0.rc3'
7
7
  end
8
8
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0.rc1
4
+ version: 0.9.0.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -35,7 +35,7 @@ cert_chain:
35
35
  AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
36
36
  msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
37
37
  -----END CERTIFICATE-----
38
- date: 2024-04-10 00:00:00.000000000 Z
38
+ date: 2024-04-18 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: erubi
@@ -57,7 +57,7 @@ dependencies:
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 2.4.0.beta1
60
+ version: 2.4.0.rc1
61
61
  - - "<"
62
62
  - !ruby/object:Gem::Version
63
63
  version: 2.5.0
@@ -67,7 +67,7 @@ dependencies:
67
67
  requirements:
68
68
  - - ">="
69
69
  - !ruby/object:Gem::Version
70
- version: 2.4.0.beta1
70
+ version: 2.4.0.rc1
71
71
  - - "<"
72
72
  - !ruby/object:Gem::Version
73
73
  version: 2.5.0
@@ -77,7 +77,7 @@ dependencies:
77
77
  requirements:
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
- version: 2.4.0.rc1
80
+ version: 2.4.0.rc2
81
81
  - - "<"
82
82
  - !ruby/object:Gem::Version
83
83
  version: 2.5.0
@@ -87,7 +87,7 @@ dependencies:
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: 2.4.0.rc1
90
+ version: 2.4.0.rc2
91
91
  - - "<"
92
92
  - !ruby/object:Gem::Version
93
93
  version: 2.5.0
metadata.gz.sig CHANGED
Binary file