karafka-web 0.7.6 → 0.7.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/ci.yml +2 -2
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +23 -13
- data/README.md +3 -0
- data/bin/karafka-web +2 -1
- data/docker-compose.yml +2 -0
- data/karafka-web.gemspec +2 -2
- data/lib/karafka/web/cli/base.rb +35 -0
- data/lib/karafka/web/cli/help.rb +25 -0
- data/lib/karafka/web/cli/install.rb +27 -0
- data/lib/karafka/web/cli/migrate.rb +33 -0
- data/lib/karafka/web/cli/reset.rb +27 -0
- data/lib/karafka/web/cli/uninstall.rb +17 -0
- data/lib/karafka/web/cli.rb +9 -76
- data/lib/karafka/web/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +11 -5
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e4dd8f19fdad3697e837ed96aa8fafabae6eac4efe8cbf75aaa788eccebc44c
|
4
|
+
data.tar.gz: 33814043050afda80109fc14082a09de0f5499041fe2f4a24a90b25f7cd501c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c84de9a33977904aadffa3ff51af275f4301e7375f9194343b4980d82b6b4fdf4dc57aeb0f1e0cef8c66499b048fb595ec4cf7d1bdbd3011995a0223c4a70ad
|
7
|
+
data.tar.gz: 4c82722b6fab042562ee3f390d10775b1de7e0c77406c623e7e17f36860a9954ef132cbc540d30449c1212a9d507203e8fb9500393c92b2be09ccbc06c281f0d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.github/workflows/ci.yml
CHANGED
@@ -68,7 +68,7 @@ jobs:
|
|
68
68
|
strategy:
|
69
69
|
fail-fast: false
|
70
70
|
steps:
|
71
|
-
- uses: actions/checkout@
|
71
|
+
- uses: actions/checkout@v4
|
72
72
|
with:
|
73
73
|
fetch-depth: 0
|
74
74
|
|
@@ -89,7 +89,7 @@ jobs:
|
|
89
89
|
strategy:
|
90
90
|
fail-fast: false
|
91
91
|
steps:
|
92
|
-
- uses: actions/checkout@
|
92
|
+
- uses: actions/checkout@v4
|
93
93
|
with:
|
94
94
|
fetch-depth: 0
|
95
95
|
- name: Run Coditsu
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
karafka-web (0.7.
|
4
|
+
karafka-web (0.7.7)
|
5
5
|
erubi (~> 1.4)
|
6
|
-
karafka (>= 2.2.
|
6
|
+
karafka (>= 2.2.8.beta1, < 3.0.0)
|
7
7
|
karafka-core (>= 2.2.2, < 3.0.0)
|
8
8
|
roda (~> 3.68, >= 3.69)
|
9
9
|
tilt (~> 2.0)
|
@@ -11,35 +11,45 @@ PATH
|
|
11
11
|
GEM
|
12
12
|
remote: https://rubygems.org/
|
13
13
|
specs:
|
14
|
-
activesupport (7.
|
14
|
+
activesupport (7.1.1)
|
15
|
+
base64
|
16
|
+
bigdecimal
|
15
17
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
18
|
+
connection_pool (>= 2.2.5)
|
19
|
+
drb
|
16
20
|
i18n (>= 1.6, < 2)
|
17
21
|
minitest (>= 5.1)
|
22
|
+
mutex_m
|
18
23
|
tzinfo (~> 2.0)
|
24
|
+
base64 (0.1.1)
|
25
|
+
bigdecimal (3.1.4)
|
19
26
|
byebug (11.1.3)
|
20
27
|
concurrent-ruby (1.2.2)
|
28
|
+
connection_pool (2.4.1)
|
21
29
|
diff-lcs (1.5.0)
|
22
30
|
docile (1.4.0)
|
31
|
+
drb (2.1.1)
|
32
|
+
ruby2_keywords
|
23
33
|
erubi (1.12.0)
|
24
34
|
factory_bot (6.3.0)
|
25
35
|
activesupport (>= 5.0.0)
|
26
|
-
ffi (1.
|
36
|
+
ffi (1.16.3)
|
27
37
|
i18n (1.14.1)
|
28
38
|
concurrent-ruby (~> 1.0)
|
29
|
-
karafka (2.2.
|
39
|
+
karafka (2.2.8.beta1)
|
30
40
|
karafka-core (>= 2.2.2, < 2.3.0)
|
31
|
-
thor (>= 0.20)
|
32
41
|
waterdrop (>= 2.6.6, < 3.0.0)
|
33
42
|
zeitwerk (~> 2.3)
|
34
|
-
karafka-core (2.2.
|
43
|
+
karafka-core (2.2.3)
|
35
44
|
concurrent-ruby (>= 1.1)
|
36
|
-
karafka-rdkafka (>= 0.13.
|
37
|
-
karafka-rdkafka (0.13.
|
45
|
+
karafka-rdkafka (>= 0.13.6, < 0.14.0)
|
46
|
+
karafka-rdkafka (0.13.6)
|
38
47
|
ffi (~> 1.15)
|
39
48
|
mini_portile2 (~> 2.6)
|
40
49
|
rake (> 12)
|
41
50
|
mini_portile2 (2.8.4)
|
42
51
|
minitest (5.20.0)
|
52
|
+
mutex_m (0.1.2)
|
43
53
|
rack (3.0.8)
|
44
54
|
rack-test (2.1.0)
|
45
55
|
rack (>= 1.3)
|
@@ -47,7 +57,7 @@ GEM
|
|
47
57
|
rack (>= 3.0.0.beta1)
|
48
58
|
webrick
|
49
59
|
rake (13.0.6)
|
50
|
-
roda (3.
|
60
|
+
roda (3.73.0)
|
51
61
|
rack
|
52
62
|
rspec (3.12.0)
|
53
63
|
rspec-core (~> 3.12.0)
|
@@ -62,21 +72,21 @@ GEM
|
|
62
72
|
diff-lcs (>= 1.2.0, < 2.0)
|
63
73
|
rspec-support (~> 3.12.0)
|
64
74
|
rspec-support (3.12.1)
|
75
|
+
ruby2_keywords (0.0.5)
|
65
76
|
simplecov (0.22.0)
|
66
77
|
docile (~> 1.1)
|
67
78
|
simplecov-html (~> 0.11)
|
68
79
|
simplecov_json_formatter (~> 0.1)
|
69
80
|
simplecov-html (0.12.3)
|
70
81
|
simplecov_json_formatter (0.1.4)
|
71
|
-
|
72
|
-
tilt (2.2.0)
|
82
|
+
tilt (2.3.0)
|
73
83
|
tzinfo (2.0.6)
|
74
84
|
concurrent-ruby (~> 1.0)
|
75
85
|
waterdrop (2.6.7)
|
76
86
|
karafka-core (>= 2.1.1, < 3.0.0)
|
77
87
|
zeitwerk (~> 2.3)
|
78
88
|
webrick (1.8.1)
|
79
|
-
zeitwerk (2.6.
|
89
|
+
zeitwerk (2.6.12)
|
80
90
|
|
81
91
|
PLATFORMS
|
82
92
|
x86_64-linux
|
data/README.md
CHANGED
@@ -8,6 +8,9 @@ Karafka Web UI is a user interface for the [Karafka framework](https://github.co
|
|
8
8
|
|
9
9
|
It allows for easy access to various metrics, such as the number of messages consumed, the number of errors, and the number of consumers operating. It also provides a way to view the different Kafka topics, consumers, and groups that are being used by the application.
|
10
10
|
|
11
|
+
> [!IMPORTANT]
|
12
|
+
> All of Karafka ecosystems components documentation, including the Web UI, can be found [here](https://karafka.io/docs/#web-ui).
|
13
|
+
|
11
14
|
## Getting started
|
12
15
|
|
13
16
|
Karafka Web UI documentation is part of the Karafka framework documentation and can be found [here](https://karafka.io/docs).
|
data/bin/karafka-web
CHANGED
data/docker-compose.yml
CHANGED
data/karafka-web.gemspec
CHANGED
@@ -17,7 +17,7 @@ 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.2.
|
20
|
+
spec.add_dependency 'karafka', '>= 2.2.8.beta1', '< 3.0.0'
|
21
21
|
spec.add_dependency 'karafka-core', '>= 2.2.2', '< 3.0.0'
|
22
22
|
spec.add_dependency 'roda', '~> 3.68', '>= 3.69'
|
23
23
|
spec.add_dependency 'tilt', '~> 2.0'
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.metadata = {
|
37
37
|
'funding_uri' => 'https://karafka.io/#become-pro',
|
38
38
|
'homepage_uri' => 'https://karafka.io',
|
39
|
-
'changelog_uri' => 'https://
|
39
|
+
'changelog_uri' => 'https://karafka.io/docs/Changelog-Karafka-Web-UI',
|
40
40
|
'bug_tracker_uri' => 'https://github.com/karafka/karafka-web/issues',
|
41
41
|
'source_code_uri' => 'https://github.com/karafka/karafka-web',
|
42
42
|
'documentation_uri' => 'https://karafka.io/docs',
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Web
|
5
|
+
class Cli
|
6
|
+
# Base command for all the Web Cli commands
|
7
|
+
class Base < Karafka::Cli::Base
|
8
|
+
include ::Karafka::Helpers::Colorize
|
9
|
+
|
10
|
+
class << self
|
11
|
+
# @return [Array<Class>] available commands
|
12
|
+
def commands
|
13
|
+
ObjectSpace
|
14
|
+
.each_object(Class)
|
15
|
+
.select { |klass| klass.superclass == Karafka::Web::Cli::Base }
|
16
|
+
.reject { |klass| klass.to_s.end_with?('::Base') }
|
17
|
+
.sort_by(&:name)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
# Takes the CLI user provided replication factor but if not present, uses the brokers count
|
24
|
+
# to decide. For non-dev clusters (with one broker) we usually want to have replication of
|
25
|
+
# two, just to have some redundancy.
|
26
|
+
# @param cli_replication_factor [Integer, false] user requested replication factor or false
|
27
|
+
# if we are supposed to compute the factor automatically
|
28
|
+
# @return [Integer] replication factor for Karafka Web UI topics
|
29
|
+
def compute_replication_factor(cli_replication_factor)
|
30
|
+
cli_replication_factor || (Ui::Models::ClusterInfo.fetch.brokers.size > 1 ? 2 : 1)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Web
|
5
|
+
class Cli
|
6
|
+
# Displays help
|
7
|
+
class Help < Base
|
8
|
+
desc 'Describes available commands'
|
9
|
+
|
10
|
+
# Print available commands
|
11
|
+
def call
|
12
|
+
# Find the longest command for alignment purposes
|
13
|
+
max_command_length = self.class.commands.map(&:name).map(&:size).max
|
14
|
+
|
15
|
+
puts 'Karafka Web UI commands:'
|
16
|
+
|
17
|
+
# Print each command formatted with its description
|
18
|
+
self.class.commands.each do |command|
|
19
|
+
puts " #{command.name.ljust(max_command_length)} # #{command.desc}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Web
|
5
|
+
class Cli
|
6
|
+
# Installs Web UI
|
7
|
+
class Install < Base
|
8
|
+
desc 'Installs the Web UI'
|
9
|
+
|
10
|
+
option(
|
11
|
+
:replication_factor,
|
12
|
+
'Replication factor for created topics',
|
13
|
+
Integer,
|
14
|
+
['--replication_factor [FACTOR]']
|
15
|
+
)
|
16
|
+
|
17
|
+
# Installs Karafka Web. Creates all needed topics, populates the data and adds the needed
|
18
|
+
# code to `karafka.rb`.
|
19
|
+
def call
|
20
|
+
Karafka::Web::Installer.new.install(
|
21
|
+
replication_factor: compute_replication_factor(options[:replication_factor])
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Web
|
5
|
+
class Cli
|
6
|
+
# Migrates the Web UI topics and states if needed
|
7
|
+
class Migrate < Base
|
8
|
+
desc 'Runs necessary migrations of Web UI topics and states'
|
9
|
+
|
10
|
+
option(
|
11
|
+
:replication_factor,
|
12
|
+
'Replication factor for created topics',
|
13
|
+
Integer,
|
14
|
+
['--replication_factor [FACTOR]']
|
15
|
+
)
|
16
|
+
|
17
|
+
# Creates new topics (if any) and populates missing data.
|
18
|
+
# It does **not** remove topics and will not populate data if it is already there.
|
19
|
+
#
|
20
|
+
# Useful in two scenarios:
|
21
|
+
# 1. When setting up Web-UI in a new environment, so the Web-UI has the proper initial
|
22
|
+
# state.
|
23
|
+
# 2. When upgrading Web-UI in-between versions that would require extra topics and/or
|
24
|
+
# extra states populated.
|
25
|
+
def call
|
26
|
+
Karafka::Web::Installer.new.migrate(
|
27
|
+
replication_factor: compute_replication_factor(options[:replication_factor])
|
28
|
+
)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Web
|
5
|
+
class Cli
|
6
|
+
# Resets the Web UI
|
7
|
+
class Reset < Base
|
8
|
+
desc 'Resets the Web UI by removing all the Web topics and creating them again'
|
9
|
+
|
10
|
+
option(
|
11
|
+
:replication_factor,
|
12
|
+
'Replication factor for created topics',
|
13
|
+
Integer,
|
14
|
+
['--replication_factor [FACTOR]']
|
15
|
+
)
|
16
|
+
|
17
|
+
# Resets Karafka Web. Removes the topics, creates them again and populates the initial
|
18
|
+
# state again. This is useful in case the Web-UI metrics or anything else got corrupted.
|
19
|
+
def call
|
20
|
+
Karafka::Web::Installer.new.reset(
|
21
|
+
replication_factor: compute_replication_factor(options[:replication_factor])
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Web
|
5
|
+
class Cli
|
6
|
+
# Uninstalls the Web UI
|
7
|
+
class Uninstall < Base
|
8
|
+
desc 'Removes all the Web UI topics and the enabled code'
|
9
|
+
|
10
|
+
# Uninstalls Karafka Web
|
11
|
+
def call
|
12
|
+
Karafka::Web::Installer.new.uninstall
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/karafka/web/cli.rb
CHANGED
@@ -2,82 +2,15 @@
|
|
2
2
|
|
3
3
|
module Karafka
|
4
4
|
module Web
|
5
|
-
#
|
6
|
-
class Cli <
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
desc: 'Replication factor for created topics',
|
15
|
-
default: false,
|
16
|
-
check_default_type: false,
|
17
|
-
type: :numeric
|
18
|
-
)
|
19
|
-
# Installs Karafka Web. Creates all needed topics, populates the data and adds the needed
|
20
|
-
# code to `karafka.rb`.
|
21
|
-
def install
|
22
|
-
Karafka::Web::Installer.new.install(
|
23
|
-
replication_factor: compute_replication_factor(options[:replication_factor])
|
24
|
-
)
|
25
|
-
end
|
26
|
-
|
27
|
-
desc 'migrate', 'Creates necessary topics if not present and populates state data'
|
28
|
-
method_option(
|
29
|
-
:replication_factor,
|
30
|
-
desc: 'Replication factor for created topics',
|
31
|
-
default: false,
|
32
|
-
check_default_type: false,
|
33
|
-
type: :numeric
|
34
|
-
)
|
35
|
-
# Creates new topics (if any) and populates missing data.
|
36
|
-
# It does **not** remove topics and will not populate data if it is already there.
|
37
|
-
#
|
38
|
-
# Useful in two scenarios:
|
39
|
-
# 1. When setting up Web-UI in a new environment, so the Web-UI has the proper initial
|
40
|
-
# state.
|
41
|
-
# 2. When upgrading Web-UI in-between versions that would require extra topics and/or extra
|
42
|
-
# states populated.
|
43
|
-
def migrate
|
44
|
-
Karafka::Web::Installer.new.migrate(
|
45
|
-
replication_factor: compute_replication_factor(options[:replication_factor])
|
46
|
-
)
|
47
|
-
end
|
48
|
-
|
49
|
-
desc 'reset', 'Resets the Web UI by removing all the Web topics and creating them again'
|
50
|
-
method_option(
|
51
|
-
:replication_factor,
|
52
|
-
desc: 'Replication factor for created topics',
|
53
|
-
default: false,
|
54
|
-
check_default_type: false,
|
55
|
-
type: :numeric
|
56
|
-
)
|
57
|
-
# Resets Karafka Web. Removes the topics, creates them again and populates the initial state
|
58
|
-
# again. This is useful in case the Web-UI metrics or anything else got corrupted.
|
59
|
-
def reset
|
60
|
-
Karafka::Web::Installer.new.reset(
|
61
|
-
replication_factor: compute_replication_factor(options[:replication_factor])
|
62
|
-
)
|
63
|
-
end
|
64
|
-
|
65
|
-
desc 'uninstall', 'Removes all the Web UI topics and the enabled code'
|
66
|
-
# Uninstalls Karafka Web
|
67
|
-
def uninstall
|
68
|
-
Karafka::Web::Installer.new.uninstall
|
69
|
-
end
|
70
|
-
|
71
|
-
private
|
72
|
-
|
73
|
-
# Takes the CLI user provided replication factor but if not present, uses the brokers count
|
74
|
-
# to decide. For non-dev clusters (with one broker) we usually want to have replication of
|
75
|
-
# two, just to have some redundancy.
|
76
|
-
# @param cli_replication_factor [Integer, false] user requested replication factor or false
|
77
|
-
# if we are supposed to compute the factor automatically
|
78
|
-
# @return [Integer] replication factor for Karafka Web UI topics
|
79
|
-
def compute_replication_factor(cli_replication_factor)
|
80
|
-
cli_replication_factor || Ui::Models::ClusterInfo.fetch.brokers.size > 1 ? 2 : 1
|
5
|
+
# Web CLI
|
6
|
+
class Cli < Karafka::Cli
|
7
|
+
class << self
|
8
|
+
private
|
9
|
+
|
10
|
+
# @return [Array<Class>] command classes
|
11
|
+
def commands
|
12
|
+
Base.commands
|
13
|
+
end
|
81
14
|
end
|
82
15
|
end
|
83
16
|
end
|
data/lib/karafka/web/version.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: karafka-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.7
|
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: 2023-10-
|
38
|
+
date: 2023-10-20 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.2.
|
60
|
+
version: 2.2.8.beta1
|
61
61
|
- - "<"
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: 3.0.0
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
requirements:
|
68
68
|
- - ">="
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 2.2.
|
70
|
+
version: 2.2.8.beta1
|
71
71
|
- - "<"
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: 3.0.0
|
@@ -173,6 +173,12 @@ files:
|
|
173
173
|
- lib/karafka/web.rb
|
174
174
|
- lib/karafka/web/app.rb
|
175
175
|
- lib/karafka/web/cli.rb
|
176
|
+
- lib/karafka/web/cli/base.rb
|
177
|
+
- lib/karafka/web/cli/help.rb
|
178
|
+
- lib/karafka/web/cli/install.rb
|
179
|
+
- lib/karafka/web/cli/migrate.rb
|
180
|
+
- lib/karafka/web/cli/reset.rb
|
181
|
+
- lib/karafka/web/cli/uninstall.rb
|
176
182
|
- lib/karafka/web/config.rb
|
177
183
|
- lib/karafka/web/contracts/base.rb
|
178
184
|
- lib/karafka/web/contracts/config.rb
|
@@ -447,7 +453,7 @@ licenses:
|
|
447
453
|
metadata:
|
448
454
|
funding_uri: https://karafka.io/#become-pro
|
449
455
|
homepage_uri: https://karafka.io
|
450
|
-
changelog_uri: https://
|
456
|
+
changelog_uri: https://karafka.io/docs/Changelog-Karafka-Web-UI
|
451
457
|
bug_tracker_uri: https://github.com/karafka/karafka-web/issues
|
452
458
|
source_code_uri: https://github.com/karafka/karafka-web
|
453
459
|
documentation_uri: https://karafka.io/docs
|
metadata.gz.sig
CHANGED
Binary file
|