karafka-core 2.4.4 → 2.4.11
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/CODEOWNERS +3 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +26 -33
- data/.github/ISSUE_TEMPLATE/feature_request.md +1 -1
- data/.github/workflows/ci.yml +35 -12
- data/.github/workflows/verify-action-pins.yml +16 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +26 -1
- data/Gemfile +0 -1
- data/Gemfile.lock +35 -39
- data/certs/cert.pem +26 -0
- data/config/locales/errors.yml +4 -0
- data/karafka-core.gemspec +4 -3
- data/lib/karafka/core/configurable/leaf.rb +1 -1
- data/lib/karafka/core/configurable/node.rb +25 -25
- data/lib/karafka/core/helpers/rspec_locator.rb +41 -6
- data/lib/karafka/core/monitoring/monitor.rb +12 -0
- data/lib/karafka/core/monitoring/notifications.rb +6 -1
- data/lib/karafka/core/version.rb +1 -1
- data/lib/karafka-core.rb +6 -0
- data/renovate.json +13 -1
- data.tar.gz.sig +0 -0
- metadata +46 -33
- metadata.gz.sig +0 -0
- data/certs/cert_chain.pem +0 -26
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4734e30a8ecdbf8bb12ea390afbc496b29c52a60c2f69dd149f126569ef2737a
|
|
4
|
+
data.tar.gz: 27447bac9ec8a2559b6262e9643712f2e48ee45529dc2c3adf56e8591f3d0a94
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '040916155d0c32b9735cb654f96f61539c9a6a99aecb6991e29c7a985dcb93ea1aca0ecb0fbd04ec9f619623e54490c9e94f91d1d3c97cd4b99f2f8f857749f9'
|
|
7
|
+
data.tar.gz: 82f9912864a04bf1ae852cdb1c5ec3287462fca20f67655fbc3649ea8d6b630c7aa45aed9ae36e6d1c07525ab8d0485326b619641172e95832eedaf86539eeee
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/.github/CODEOWNERS
ADDED
|
@@ -1,50 +1,43 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Bug Report
|
|
3
|
-
about: Report an issue
|
|
3
|
+
about: Report an issue within the Karafka ecosystem you've discovered.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
Open an issue with a descriptive title and a summary in grammatically correct,
|
|
8
|
-
complete sentences.*
|
|
6
|
+
To make this process smoother for everyone involved, please read the following information before filling out the template.
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
hasn't been reported (and potentially fixed) already.*
|
|
8
|
+
Scope of the OSS Support
|
|
9
|
+
===========
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
rule with your own words.*
|
|
11
|
+
We do not provide OSS support for outdated versions of Karafka and its components.
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
Please ensure that you are using a version that is still actively supported. We cannot assist with any no longer maintained versions unless you support us with our Pro offering (https://karafka.io/docs/Pro-Support/).
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
We acknowledge that understanding the specifics of your application and its configuration can be essential for resolving certain issues. However, due to the extensive time and resources such analysis can require, this may fall beyond our Open Source Support scope.
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
If Karafka or its components are critical to your infrastructure, we encourage you to consider our Pro Offering.
|
|
22
18
|
|
|
23
|
-
|
|
19
|
+
By backing us up, you can gain direct assistance and ensure your use case receives the dedicated attention it deserves.
|
|
24
20
|
|
|
25
|
-
Describe here what actually happened.
|
|
26
21
|
|
|
27
|
-
|
|
22
|
+
Important Links to Read
|
|
23
|
+
===========
|
|
28
24
|
|
|
29
|
-
|
|
30
|
-
a problem will expedite its solution.
|
|
25
|
+
Please take a moment to review the following resources before submitting your report:
|
|
31
26
|
|
|
32
|
-
|
|
27
|
+
- Issue Reporting Guide: https://karafka.io/docs/Support/#issue-reporting-guide
|
|
28
|
+
- Support Policy: https://karafka.io/docs/Support/
|
|
29
|
+
- Versions, Lifecycle, and EOL: https://karafka.io/docs/Versions-Lifecycle-and-EOL/
|
|
33
30
|
|
|
34
|
-
Please provide kafka version and the output of `karafka info` or `bundle exec karafka info` if using Bundler.
|
|
35
31
|
|
|
36
|
-
|
|
32
|
+
Bug Report Details
|
|
33
|
+
===========
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
Boot file: /app/karafka/karafka.rb
|
|
48
|
-
Environment: development
|
|
49
|
-
Kafka seed brokers: ["kafka://kafka:9092"]
|
|
50
|
-
```
|
|
35
|
+
Please provide all the details per our Issue Reporting Guide: https://karafka.io/docs/Support/#issue-reporting-guide
|
|
36
|
+
|
|
37
|
+
Failing to provide the required details may result in the issue being closed. Please include all necessary information to help us understand and resolve your issue effectively.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
Additional Context
|
|
41
|
+
===========
|
|
42
|
+
|
|
43
|
+
Add any other context about the problem here.
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -6,40 +6,49 @@ concurrency:
|
|
|
6
6
|
|
|
7
7
|
on:
|
|
8
8
|
pull_request:
|
|
9
|
+
branches: [ main, master ]
|
|
9
10
|
push:
|
|
11
|
+
branches: [ main, master ]
|
|
10
12
|
schedule:
|
|
11
|
-
- cron:
|
|
13
|
+
- cron: '0 1 * * *'
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
12
17
|
|
|
13
18
|
jobs:
|
|
14
19
|
specs:
|
|
20
|
+
timeout-minutes: 15
|
|
15
21
|
runs-on: ubuntu-latest
|
|
16
22
|
needs: diffend
|
|
17
23
|
strategy:
|
|
18
24
|
fail-fast: false
|
|
19
25
|
matrix:
|
|
20
26
|
ruby:
|
|
21
|
-
- '3.4
|
|
27
|
+
- '3.4'
|
|
22
28
|
- '3.3'
|
|
23
29
|
- '3.2'
|
|
24
30
|
- '3.1'
|
|
25
|
-
- '3.0'
|
|
26
31
|
include:
|
|
27
|
-
- ruby: '3.
|
|
32
|
+
- ruby: '3.4'
|
|
28
33
|
coverage: 'true'
|
|
29
34
|
steps:
|
|
30
|
-
- uses: actions/checkout@v4
|
|
35
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
36
|
+
with:
|
|
37
|
+
fetch-depth: 0
|
|
38
|
+
|
|
31
39
|
- name: Install package dependencies
|
|
32
40
|
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
|
|
41
|
+
|
|
33
42
|
- name: Set up Ruby
|
|
34
|
-
uses: ruby/setup-ruby@v1
|
|
43
|
+
uses: ruby/setup-ruby@1a615958ad9d422dd932dc1d5823942ee002799f # v1.227.0
|
|
35
44
|
with:
|
|
36
45
|
ruby-version: ${{matrix.ruby}}
|
|
37
46
|
bundler: 'latest'
|
|
47
|
+
|
|
38
48
|
- name: Install latest bundler
|
|
39
49
|
run: |
|
|
40
50
|
gem install bundler --no-document
|
|
41
51
|
gem update --system --no-document
|
|
42
|
-
|
|
43
52
|
bundle config set without 'tools benchmarks docs'
|
|
44
53
|
|
|
45
54
|
- name: Bundle install
|
|
@@ -53,17 +62,18 @@ jobs:
|
|
|
53
62
|
run: bundle exec rspec
|
|
54
63
|
|
|
55
64
|
diffend:
|
|
65
|
+
timeout-minutes: 5
|
|
56
66
|
runs-on: ubuntu-latest
|
|
57
67
|
strategy:
|
|
58
68
|
fail-fast: false
|
|
59
69
|
steps:
|
|
60
|
-
- uses: actions/checkout@v4
|
|
70
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
61
71
|
with:
|
|
62
72
|
fetch-depth: 0
|
|
63
73
|
- name: Set up Ruby
|
|
64
|
-
uses: ruby/setup-ruby@v1
|
|
74
|
+
uses: ruby/setup-ruby@1a615958ad9d422dd932dc1d5823942ee002799f # v1.227.0
|
|
65
75
|
with:
|
|
66
|
-
ruby-version: 3.
|
|
76
|
+
ruby-version: 3.4
|
|
67
77
|
- name: Install latest bundler
|
|
68
78
|
run: gem install bundler --no-document
|
|
69
79
|
- name: Install Diffend plugin
|
|
@@ -72,12 +82,25 @@ jobs:
|
|
|
72
82
|
run: bundle secure
|
|
73
83
|
|
|
74
84
|
coditsu:
|
|
85
|
+
timeout-minutes: 5
|
|
75
86
|
runs-on: ubuntu-latest
|
|
76
87
|
strategy:
|
|
77
88
|
fail-fast: false
|
|
78
89
|
steps:
|
|
79
|
-
- uses: actions/checkout@v4
|
|
90
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
80
91
|
with:
|
|
81
92
|
fetch-depth: 0
|
|
93
|
+
- name: Download Coditsu script
|
|
94
|
+
run: |
|
|
95
|
+
curl -sSL https://api.coditsu.io/run/ci -o coditsu_script.sh
|
|
96
|
+
chmod +x coditsu_script.sh
|
|
97
|
+
- name: Verify Coditsu script checksum
|
|
98
|
+
run: |
|
|
99
|
+
EXPECTED_SHA256="0aecc5aa010f53fca264548a41467a2b0a1208d750ce1da3e98a217304cacbbc"
|
|
100
|
+
ACTUAL_SHA256=$(sha256sum coditsu_script.sh | awk '{ print $1 }')
|
|
101
|
+
if [ "$ACTUAL_SHA256" != "$EXPECTED_SHA256" ]; then
|
|
102
|
+
echo "::error::Checksum verification failed. Expected $EXPECTED_SHA256 but got $ACTUAL_SHA256."
|
|
103
|
+
exit 1
|
|
104
|
+
fi
|
|
82
105
|
- name: Run Coditsu
|
|
83
|
-
run:
|
|
106
|
+
run: ./coditsu_script.sh
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: Verify Action Pins
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
paths:
|
|
5
|
+
- '.github/workflows/**'
|
|
6
|
+
jobs:
|
|
7
|
+
verify:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
11
|
+
- name: Check SHA pins
|
|
12
|
+
run: |
|
|
13
|
+
if grep -E -r "uses: .*/.*@(v[0-9]+|main|master)($|[[:space:]]|$)" --include="*.yml" --include="*.yaml" .github/workflows/ | grep -v "#"; then
|
|
14
|
+
echo "::error::Actions should use SHA pins, not tags or branch names"
|
|
15
|
+
exit 1
|
|
16
|
+
fi
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.4.2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,29 @@
|
|
|
1
|
-
# Karafka
|
|
1
|
+
# Karafka Core Changelog
|
|
2
|
+
|
|
3
|
+
## 2.4.11 (2025-03-20)
|
|
4
|
+
- [Enhancement] Rename internal node `#name` method to `#node_name` so we can use `#name` as the attribute name.
|
|
5
|
+
|
|
6
|
+
## 2.4.10 (2025-03-14)
|
|
7
|
+
- [Fix] Relax lock on `karafka-rdkafka`
|
|
8
|
+
|
|
9
|
+
## 2.4.9 (2025-03-03)
|
|
10
|
+
- [Enhancement] Remove `RspecLocator` dependency on `activesupport`.
|
|
11
|
+
|
|
12
|
+
## 2.4.8 (2024-12-26)
|
|
13
|
+
- [Maintenance] Declare `logger` as a dependency.
|
|
14
|
+
|
|
15
|
+
## 2.4.7 (2024-11-26)
|
|
16
|
+
- [Fix] Make sure that `karafka-core` works with older versions of `karafka-rdkafka` that do not support macos fork mitigation.
|
|
17
|
+
|
|
18
|
+
## 2.4.6 (2024-11-26)
|
|
19
|
+
- [Enhancement] Mitigate macos forking issues when librdkafka is not loaded to memory.
|
|
20
|
+
- [Change] Allow `karafka-rdkafka` `0.18.0`.
|
|
21
|
+
|
|
22
|
+
## 2.4.5 (2024-11-19)
|
|
23
|
+
- **[Breaking]** Drop Ruby `3.0` support according to the EOL schedule.
|
|
24
|
+
- [Enhancement] Support listeners inspection via `#listeners`.
|
|
25
|
+
- [Fix] Restore `#available_events` notifications bus method.
|
|
26
|
+
- [Change] Set minimum `karafka-rdkafka` on `0.17.6` to support new features.
|
|
2
27
|
|
|
3
28
|
## 2.4.4 (2024-07-20)
|
|
4
29
|
- [Change] Set minimum `karafka-rdkafka` on `0.16.0` to support new features and allow for `0.17.0`.
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,76 +1,72 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
karafka-core (2.4.
|
|
5
|
-
karafka-rdkafka (>= 0.
|
|
4
|
+
karafka-core (2.4.11)
|
|
5
|
+
karafka-rdkafka (>= 0.17.6, < 0.20.0)
|
|
6
|
+
logger (>= 1.6.0)
|
|
6
7
|
|
|
7
8
|
GEM
|
|
8
9
|
remote: https://rubygems.org/
|
|
9
10
|
specs:
|
|
10
|
-
activesupport (7.1.3.4)
|
|
11
|
-
base64
|
|
12
|
-
bigdecimal
|
|
13
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
14
|
-
connection_pool (>= 2.2.5)
|
|
15
|
-
drb
|
|
16
|
-
i18n (>= 1.6, < 2)
|
|
17
|
-
minitest (>= 5.1)
|
|
18
|
-
mutex_m
|
|
19
|
-
tzinfo (~> 2.0)
|
|
20
|
-
base64 (0.2.0)
|
|
21
|
-
bigdecimal (3.1.8)
|
|
22
11
|
byebug (11.1.3)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
ffi (1.17.
|
|
31
|
-
ffi (1.17.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
12
|
+
diff-lcs (1.6.0)
|
|
13
|
+
docile (1.4.1)
|
|
14
|
+
ffi (1.17.1)
|
|
15
|
+
ffi (1.17.1-aarch64-linux-gnu)
|
|
16
|
+
ffi (1.17.1-aarch64-linux-musl)
|
|
17
|
+
ffi (1.17.1-arm-linux-gnu)
|
|
18
|
+
ffi (1.17.1-arm-linux-musl)
|
|
19
|
+
ffi (1.17.1-arm64-darwin)
|
|
20
|
+
ffi (1.17.1-x86-linux-gnu)
|
|
21
|
+
ffi (1.17.1-x86-linux-musl)
|
|
22
|
+
ffi (1.17.1-x86_64-darwin)
|
|
23
|
+
ffi (1.17.1-x86_64-linux-gnu)
|
|
24
|
+
ffi (1.17.1-x86_64-linux-musl)
|
|
25
|
+
karafka-rdkafka (0.19.0)
|
|
35
26
|
ffi (~> 1.15)
|
|
36
27
|
mini_portile2 (~> 2.6)
|
|
37
28
|
rake (> 12)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
mutex_m (0.2.0)
|
|
29
|
+
logger (1.6.6)
|
|
30
|
+
mini_portile2 (2.8.8)
|
|
41
31
|
rake (13.2.1)
|
|
42
32
|
rspec (3.13.0)
|
|
43
33
|
rspec-core (~> 3.13.0)
|
|
44
34
|
rspec-expectations (~> 3.13.0)
|
|
45
35
|
rspec-mocks (~> 3.13.0)
|
|
46
|
-
rspec-core (3.13.
|
|
36
|
+
rspec-core (3.13.3)
|
|
47
37
|
rspec-support (~> 3.13.0)
|
|
48
|
-
rspec-expectations (3.13.
|
|
38
|
+
rspec-expectations (3.13.3)
|
|
49
39
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
50
40
|
rspec-support (~> 3.13.0)
|
|
51
|
-
rspec-mocks (3.13.
|
|
41
|
+
rspec-mocks (3.13.2)
|
|
52
42
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
53
43
|
rspec-support (~> 3.13.0)
|
|
54
|
-
rspec-support (3.13.
|
|
44
|
+
rspec-support (3.13.2)
|
|
55
45
|
simplecov (0.22.0)
|
|
56
46
|
docile (~> 1.1)
|
|
57
47
|
simplecov-html (~> 0.11)
|
|
58
48
|
simplecov_json_formatter (~> 0.1)
|
|
59
|
-
simplecov-html (0.
|
|
49
|
+
simplecov-html (0.13.1)
|
|
60
50
|
simplecov_json_formatter (0.1.4)
|
|
61
|
-
tzinfo (2.0.6)
|
|
62
|
-
concurrent-ruby (~> 1.0)
|
|
63
51
|
|
|
64
52
|
PLATFORMS
|
|
53
|
+
aarch64-linux-gnu
|
|
54
|
+
aarch64-linux-musl
|
|
55
|
+
arm-linux-gnu
|
|
56
|
+
arm-linux-musl
|
|
57
|
+
arm64-darwin
|
|
65
58
|
ruby
|
|
66
|
-
|
|
59
|
+
x86-linux-gnu
|
|
60
|
+
x86-linux-musl
|
|
61
|
+
x86_64-darwin
|
|
62
|
+
x86_64-linux-gnu
|
|
63
|
+
x86_64-linux-musl
|
|
67
64
|
|
|
68
65
|
DEPENDENCIES
|
|
69
66
|
byebug
|
|
70
|
-
factory_bot
|
|
71
67
|
karafka-core!
|
|
72
68
|
rspec
|
|
73
69
|
simplecov
|
|
74
70
|
|
|
75
71
|
BUNDLED WITH
|
|
76
|
-
2.
|
|
72
|
+
2.6.2
|
data/certs/cert.pem
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
|
|
3
|
+
YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
|
|
4
|
+
MB4XDTI0MDgyMzEwMTkyMFoXDTQ5MDgxNzEwMTkyMFowPzEQMA4GA1UEAwwHY29u
|
|
5
|
+
dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
|
|
6
|
+
bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjLhLjQqUlNayxkXnO+
|
|
7
|
+
PsmCDs/KFIzhrsYMfLZRZNaWmzV3ujljMOdDjd4snM2X06C41iVdQPWjpe3j8vVe
|
|
8
|
+
ZXEWR/twSbOP6Eeg8WVH2wCOo0x5i7yhVn4UBLH4JpfEMCbemVcWQ9ry9OMg4WpH
|
|
9
|
+
Uu4dRwxFV7hzCz3p0QfNLRI4miAxnGWcnlD98IJRjBAksTuR1Llj0vbOrDGsL9ZT
|
|
10
|
+
JeXP2gdRLd8SqzAFJEWrbeTBCBU7gfSh3oMg5SVDLjaqf7Kz5wC/8bDZydzanOxB
|
|
11
|
+
T6CDXPsCnllmvTNx2ei2T5rGYJOzJeNTmJLLK6hJWUlAvaQSvCwZRvFJ0tVGLEoS
|
|
12
|
+
flqSr6uGyyl1eMUsNmsH4BqPEYcAV6P2PKTv2vUR8AP0raDvZ3xL1TKvfRb8xRpo
|
|
13
|
+
vPopCGlY5XBWEc6QERHfVLTIVsjnls2/Ujj4h8/TSfqqYnaHKefIMLbuD/tquMjD
|
|
14
|
+
iWQsW2qStBV0T+U7FijKxVfrfqZP7GxQmDAc9o1iiyAa3QIDAQABo3cwdTAJBgNV
|
|
15
|
+
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU3O4dTXmvE7YpAkszGzR9DdL9
|
|
16
|
+
sbEwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
|
|
17
|
+
bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEAVKTfoLXn7mqdSxIR
|
|
18
|
+
eqxcR6Huudg1jes81s1+X0uiRTR3hxxKZ3Y82cPsee9zYWyBrN8TA4KA0WILTru7
|
|
19
|
+
Ygxvzha0SRPsSiaKLmgOJ+61ebI4+bOORzIJLpD6GxCxu1r7MI4+0r1u1xe0EWi8
|
|
20
|
+
agkVo1k4Vi8cKMLm6Gl9b3wG9zQBw6fcgKwmpjKiNnOLP+OytzUANrIUJjoq6oal
|
|
21
|
+
TC+f/Uc0TLaRqUaW/bejxzDWWHoM3SU6aoLPuerglzp9zZVzihXwx3jPLUVKDFpF
|
|
22
|
+
Rl2lcBDxlpYGueGo0/oNzGJAAy6js8jhtHC9+19PD53vk7wHtFTZ/0ugDQYnwQ+x
|
|
23
|
+
oml2fAAuVWpTBCgOVFe6XCQpMKopzoxQ1PjKztW2KYxgJdIBX87SnL3aWuBQmhRd
|
|
24
|
+
i9zWxov0mr44TWegTVeypcWGd/0nxu1+QHVNHJrpqlPBRvwQsUm7fwmRInGpcaB8
|
|
25
|
+
ap8wNYvryYzrzvzUxIVFBVM5PacgkFqRmolCa8I7tdKQN+R1
|
|
26
|
+
-----END CERTIFICATE-----
|
data/config/locales/errors.yml
CHANGED
|
@@ -4,8 +4,12 @@ en:
|
|
|
4
4
|
missing: needs to be present
|
|
5
5
|
id_format: needs to be a String
|
|
6
6
|
nested.id2_format: needs to be a String
|
|
7
|
+
id_format: needs to be a String
|
|
8
|
+
test_format: needs to be 5
|
|
9
|
+
details.id_format: needs to be a String
|
|
7
10
|
|
|
8
11
|
config:
|
|
9
12
|
missing: needs to be present
|
|
10
13
|
id_format: needs to be a String
|
|
11
14
|
test_format: needs to be nil
|
|
15
|
+
name_format: needs to be name
|
data/karafka-core.gemspec
CHANGED
|
@@ -16,15 +16,16 @@ Gem::Specification.new do |spec|
|
|
|
16
16
|
spec.description = 'A toolset of small support modules used throughout the Karafka ecosystem'
|
|
17
17
|
spec.licenses = %w[MIT]
|
|
18
18
|
|
|
19
|
-
spec.add_dependency 'karafka-rdkafka', '>= 0.
|
|
19
|
+
spec.add_dependency 'karafka-rdkafka', '>= 0.17.6', '< 0.20.0'
|
|
20
|
+
spec.add_dependency 'logger', '>= 1.6.0'
|
|
20
21
|
|
|
21
|
-
spec.required_ruby_version = '>= 3.
|
|
22
|
+
spec.required_ruby_version = '>= 3.1.0'
|
|
22
23
|
|
|
23
24
|
if $PROGRAM_NAME.end_with?('gem')
|
|
24
25
|
spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem')
|
|
25
26
|
end
|
|
26
27
|
|
|
27
|
-
spec.cert_chain = %w[certs/
|
|
28
|
+
spec.cert_chain = %w[certs/cert.pem]
|
|
28
29
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec)/}) }
|
|
29
30
|
spec.require_paths = %w[lib]
|
|
30
31
|
|
|
@@ -4,7 +4,7 @@ module Karafka
|
|
|
4
4
|
module Core
|
|
5
5
|
module Configurable
|
|
6
6
|
# Single end config value representation
|
|
7
|
-
Leaf = Struct.new(:
|
|
7
|
+
Leaf = Struct.new(:node_name, :default, :constructor, :compiled, :lazy) do
|
|
8
8
|
# @return [Boolean] true if already compiled
|
|
9
9
|
def compiled?
|
|
10
10
|
compiled
|
|
@@ -10,15 +10,15 @@ module Karafka
|
|
|
10
10
|
# we only compile/initialize the values prior to user running the `#configure` API. This API
|
|
11
11
|
# needs to run prior to using the result stuff even if there is nothing to configure
|
|
12
12
|
class Node
|
|
13
|
-
attr_reader :
|
|
13
|
+
attr_reader :node_name, :nestings
|
|
14
14
|
|
|
15
15
|
# We need to be able to redefine children for deep copy
|
|
16
16
|
attr_accessor :children
|
|
17
17
|
|
|
18
|
-
# @param
|
|
18
|
+
# @param node_name [Symbol] node name
|
|
19
19
|
# @param nestings [Proc] block for nested settings
|
|
20
|
-
def initialize(
|
|
21
|
-
@
|
|
20
|
+
def initialize(node_name, nestings = ->(_) {})
|
|
21
|
+
@node_name = node_name
|
|
22
22
|
@children = []
|
|
23
23
|
@nestings = nestings
|
|
24
24
|
@compiled = false
|
|
@@ -27,16 +27,16 @@ module Karafka
|
|
|
27
27
|
|
|
28
28
|
# Allows for a single leaf or nested node definition
|
|
29
29
|
#
|
|
30
|
-
# @param
|
|
30
|
+
# @param node_name [Symbol] setting or nested node name
|
|
31
31
|
# @param default [Object] default value
|
|
32
32
|
# @param constructor [#call, nil] callable or nil
|
|
33
33
|
# @param lazy [Boolean] is this a lazy leaf
|
|
34
34
|
# @param block [Proc] block for nested settings
|
|
35
|
-
def setting(
|
|
35
|
+
def setting(node_name, default: nil, constructor: nil, lazy: false, &block)
|
|
36
36
|
@children << if block
|
|
37
|
-
Node.new(
|
|
37
|
+
Node.new(node_name, block)
|
|
38
38
|
else
|
|
39
|
-
Leaf.new(
|
|
39
|
+
Leaf.new(node_name, default, constructor, false, lazy)
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
compile
|
|
@@ -47,7 +47,7 @@ module Karafka
|
|
|
47
47
|
# Compile settings, allow for overrides via yielding
|
|
48
48
|
# @return [Node] returns self after configuration
|
|
49
49
|
def configure
|
|
50
|
-
compile if !@compiled ||
|
|
50
|
+
compile if !@compiled || node_name == :root
|
|
51
51
|
yield(self) if block_given?
|
|
52
52
|
self
|
|
53
53
|
end
|
|
@@ -57,14 +57,14 @@ module Karafka
|
|
|
57
57
|
config = {}
|
|
58
58
|
|
|
59
59
|
@children.each do |value|
|
|
60
|
-
config[value.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
config[value.node_name] = if value.is_a?(Leaf)
|
|
61
|
+
result = public_send(value.node_name)
|
|
62
|
+
# We need to check if value is not a result node for cases
|
|
63
|
+
# where we merge additional config
|
|
64
|
+
result.is_a?(Node) ? result.to_h : result
|
|
65
|
+
else
|
|
66
|
+
value.to_h
|
|
67
|
+
end
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
config.freeze
|
|
@@ -74,7 +74,7 @@ module Karafka
|
|
|
74
74
|
# and non-side-effect usage on an instance/inherited.
|
|
75
75
|
# @return [Node] duplicated node
|
|
76
76
|
def deep_dup
|
|
77
|
-
dupped = Node.new(
|
|
77
|
+
dupped = Node.new(node_name, nestings)
|
|
78
78
|
|
|
79
79
|
dupped.children += children.map do |value|
|
|
80
80
|
if value.is_a?(Leaf)
|
|
@@ -96,12 +96,12 @@ module Karafka
|
|
|
96
96
|
@children.each do |value|
|
|
97
97
|
# Do not redefine something that was already set during compilation
|
|
98
98
|
# This will allow us to reconfigure things and skip override with defaults
|
|
99
|
-
skippable = respond_to?(value.
|
|
99
|
+
skippable = respond_to?(value.node_name) || (value.is_a?(Leaf) && value.compiled?)
|
|
100
100
|
lazy_leaf = value.is_a?(Leaf) && value.lazy?
|
|
101
101
|
|
|
102
102
|
# Do not create accessor for leafs that are lazy as they will get a custom method
|
|
103
103
|
# created instead
|
|
104
|
-
singleton_class.attr_accessor(value.
|
|
104
|
+
singleton_class.attr_accessor(value.node_name) unless lazy_leaf
|
|
105
105
|
|
|
106
106
|
next if skippable
|
|
107
107
|
|
|
@@ -123,7 +123,7 @@ module Karafka
|
|
|
123
123
|
if lazy_leaf && !initialized
|
|
124
124
|
build_dynamic_accessor(value)
|
|
125
125
|
else
|
|
126
|
-
public_send("#{value.
|
|
126
|
+
public_send("#{value.node_name}=", initialized)
|
|
127
127
|
end
|
|
128
128
|
end
|
|
129
129
|
|
|
@@ -139,16 +139,16 @@ module Karafka
|
|
|
139
139
|
#
|
|
140
140
|
# @param value [Leaf]
|
|
141
141
|
def build_dynamic_accessor(value)
|
|
142
|
-
singleton_class.attr_writer(value.
|
|
142
|
+
singleton_class.attr_writer(value.node_name)
|
|
143
143
|
|
|
144
|
-
define_singleton_method(value.
|
|
145
|
-
existing = instance_variable_get("@#{value.
|
|
144
|
+
define_singleton_method(value.node_name) do
|
|
145
|
+
existing = instance_variable_get("@#{value.node_name}")
|
|
146
146
|
|
|
147
147
|
return existing if existing
|
|
148
148
|
|
|
149
149
|
built = call_constructor(value)
|
|
150
150
|
|
|
151
|
-
instance_variable_set("@#{value.
|
|
151
|
+
instance_variable_set("@#{value.node_name}", built)
|
|
152
152
|
end
|
|
153
153
|
end
|
|
154
154
|
|
|
@@ -24,9 +24,7 @@ module Karafka
|
|
|
24
24
|
# @param rspec [Module] RSpec main module
|
|
25
25
|
def extended(rspec)
|
|
26
26
|
super
|
|
27
|
-
|
|
28
27
|
this = self
|
|
29
|
-
|
|
30
28
|
# Allows "auto subject" definitions for the `#describe` method, as it will figure
|
|
31
29
|
# out the proper class that we want to describe
|
|
32
30
|
# @param block [Proc] block with specs
|
|
@@ -47,9 +45,9 @@ module Karafka
|
|
|
47
45
|
.delete_if(&:empty?)
|
|
48
46
|
.itself[1..]
|
|
49
47
|
.join('/')
|
|
50
|
-
.
|
|
48
|
+
.then { |path| custom_camelize(path) }
|
|
51
49
|
.then { |string| transform_inflections(string) }
|
|
52
|
-
.
|
|
50
|
+
.then { |class_name| custom_constantize(class_name) }
|
|
53
51
|
end
|
|
54
52
|
|
|
55
53
|
private
|
|
@@ -58,11 +56,48 @@ module Karafka
|
|
|
58
56
|
# @return [String] string after inflections
|
|
59
57
|
def transform_inflections(string)
|
|
60
58
|
string = string.dup
|
|
61
|
-
|
|
62
59
|
@inflections.each { |from, to| string.gsub!(from, to) }
|
|
63
|
-
|
|
64
60
|
string
|
|
65
61
|
end
|
|
62
|
+
|
|
63
|
+
# Custom implementation of camelize without ActiveSupport
|
|
64
|
+
# @param string [String] underscored string to convert to CamelCase
|
|
65
|
+
# @return [String] camel-case string
|
|
66
|
+
def custom_camelize(string)
|
|
67
|
+
# First, replace slashes with :: for proper namespacing
|
|
68
|
+
string = string.gsub('/', '::')
|
|
69
|
+
|
|
70
|
+
# Then camelize each segment
|
|
71
|
+
string.gsub(/(?:^|_|::)([a-z])/) do |match|
|
|
72
|
+
# If it's a namespace separator, keep it and uppercase the following letter
|
|
73
|
+
if match.include?('::')
|
|
74
|
+
"::#{match[-1].upcase}"
|
|
75
|
+
else
|
|
76
|
+
match[-1].upcase
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Custom implementation of constantize without ActiveSupport
|
|
82
|
+
# @param string [String] string representing a constant name
|
|
83
|
+
# @return [Class, Module] the constant
|
|
84
|
+
def custom_constantize(string)
|
|
85
|
+
names = string.split('::')
|
|
86
|
+
constant = Object
|
|
87
|
+
regexp = /^[A-Z][a-zA-Z0-9_]*$/
|
|
88
|
+
|
|
89
|
+
names.each do |name|
|
|
90
|
+
# Make sure we're dealing with a valid constant name
|
|
91
|
+
raise NameError, "#{name} is not a valid constant name!" unless name.match?(regexp)
|
|
92
|
+
|
|
93
|
+
# Get the constant from its parent
|
|
94
|
+
constant = constant.const_get(name)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
constant
|
|
98
|
+
rescue NameError => e
|
|
99
|
+
raise NameError, "Uninitialized constant #{string}: #{e.message}"
|
|
100
|
+
end
|
|
66
101
|
end
|
|
67
102
|
end
|
|
68
103
|
end
|
|
@@ -41,6 +41,18 @@ module Karafka
|
|
|
41
41
|
def subscribe(*args, &block)
|
|
42
42
|
@notifications_bus.subscribe(*args, &block)
|
|
43
43
|
end
|
|
44
|
+
|
|
45
|
+
# @return [Hash<String, Array>] hash where keys are events and values are arrays with
|
|
46
|
+
# listeners subscribed to particular events. Since different events may have different
|
|
47
|
+
# listeners, this is returned that way.
|
|
48
|
+
#
|
|
49
|
+
# @note Please do not modify this hash. It should be used only for debugging.
|
|
50
|
+
#
|
|
51
|
+
# @example If you need to get only classes of listeners, you can run following code:
|
|
52
|
+
# monitor.listeners.map(&:class)
|
|
53
|
+
def listeners
|
|
54
|
+
@notifications_bus.listeners
|
|
55
|
+
end
|
|
44
56
|
end
|
|
45
57
|
end
|
|
46
58
|
end
|
|
@@ -11,7 +11,7 @@ module Karafka
|
|
|
11
11
|
class Notifications
|
|
12
12
|
include Core::Helpers::Time
|
|
13
13
|
|
|
14
|
-
attr_reader :name
|
|
14
|
+
attr_reader :name, :listeners
|
|
15
15
|
|
|
16
16
|
# Raised when someone wants to publish event that was not registered
|
|
17
17
|
EventNotRegistered = Class.new(StandardError)
|
|
@@ -28,6 +28,11 @@ module Karafka
|
|
|
28
28
|
@events_methods_map = {}
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
+
# @return [Array<String>] list of available events
|
|
32
|
+
def available_events
|
|
33
|
+
@events_methods_map.keys
|
|
34
|
+
end
|
|
35
|
+
|
|
31
36
|
# Registers a new event on which we can publish
|
|
32
37
|
#
|
|
33
38
|
# @param event_id [String] event id
|
data/lib/karafka/core/version.rb
CHANGED
data/lib/karafka-core.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
%w[
|
|
4
|
+
logger
|
|
4
5
|
yaml
|
|
5
6
|
rdkafka
|
|
6
7
|
|
|
@@ -48,3 +49,8 @@ rd_config = ::Rdkafka::Config
|
|
|
48
49
|
rd_config.statistics_callback = instrumentation.statistics_callbacks
|
|
49
50
|
rd_config.error_callback = instrumentation.error_callbacks
|
|
50
51
|
rd_config.oauthbearer_token_refresh_callback = instrumentation.oauthbearer_token_refresh_callbacks
|
|
52
|
+
|
|
53
|
+
# This loads librdkafka components into memory prior to initializing the client.
|
|
54
|
+
# This mitigates macos forking issues.
|
|
55
|
+
# @see https://github.com/confluentinc/librdkafka/issues/4590
|
|
56
|
+
::Rdkafka::Bindings.rd_kafka_global_init if ::Rdkafka::Bindings.respond_to?(:rd_kafka_global_init)
|
data/renovate.json
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
3
|
"extends": [
|
|
4
|
-
"config:
|
|
4
|
+
"config:recommended"
|
|
5
|
+
],
|
|
6
|
+
"github-actions": {
|
|
7
|
+
"enabled": true,
|
|
8
|
+
"pinDigests": true
|
|
9
|
+
},
|
|
10
|
+
"packageRules": [
|
|
11
|
+
{
|
|
12
|
+
"matchManagers": [
|
|
13
|
+
"github-actions"
|
|
14
|
+
],
|
|
15
|
+
"minimumReleaseAge": "7 days"
|
|
16
|
+
}
|
|
5
17
|
]
|
|
6
18
|
}
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,41 +1,40 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: karafka-core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.4.
|
|
4
|
+
version: 2.4.11
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Maciej Mensfeld
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain:
|
|
11
10
|
- |
|
|
12
11
|
-----BEGIN CERTIFICATE-----
|
|
13
12
|
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
|
|
14
13
|
YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
|
|
15
|
-
|
|
14
|
+
MB4XDTI0MDgyMzEwMTkyMFoXDTQ5MDgxNzEwMTkyMFowPzEQMA4GA1UEAwwHY29u
|
|
16
15
|
dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
16
|
+
bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjLhLjQqUlNayxkXnO+
|
|
17
|
+
PsmCDs/KFIzhrsYMfLZRZNaWmzV3ujljMOdDjd4snM2X06C41iVdQPWjpe3j8vVe
|
|
18
|
+
ZXEWR/twSbOP6Eeg8WVH2wCOo0x5i7yhVn4UBLH4JpfEMCbemVcWQ9ry9OMg4WpH
|
|
19
|
+
Uu4dRwxFV7hzCz3p0QfNLRI4miAxnGWcnlD98IJRjBAksTuR1Llj0vbOrDGsL9ZT
|
|
20
|
+
JeXP2gdRLd8SqzAFJEWrbeTBCBU7gfSh3oMg5SVDLjaqf7Kz5wC/8bDZydzanOxB
|
|
21
|
+
T6CDXPsCnllmvTNx2ei2T5rGYJOzJeNTmJLLK6hJWUlAvaQSvCwZRvFJ0tVGLEoS
|
|
22
|
+
flqSr6uGyyl1eMUsNmsH4BqPEYcAV6P2PKTv2vUR8AP0raDvZ3xL1TKvfRb8xRpo
|
|
23
|
+
vPopCGlY5XBWEc6QERHfVLTIVsjnls2/Ujj4h8/TSfqqYnaHKefIMLbuD/tquMjD
|
|
24
|
+
iWQsW2qStBV0T+U7FijKxVfrfqZP7GxQmDAc9o1iiyAa3QIDAQABo3cwdTAJBgNV
|
|
25
|
+
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU3O4dTXmvE7YpAkszGzR9DdL9
|
|
26
|
+
sbEwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
|
|
27
|
+
bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEAVKTfoLXn7mqdSxIR
|
|
28
|
+
eqxcR6Huudg1jes81s1+X0uiRTR3hxxKZ3Y82cPsee9zYWyBrN8TA4KA0WILTru7
|
|
29
|
+
Ygxvzha0SRPsSiaKLmgOJ+61ebI4+bOORzIJLpD6GxCxu1r7MI4+0r1u1xe0EWi8
|
|
30
|
+
agkVo1k4Vi8cKMLm6Gl9b3wG9zQBw6fcgKwmpjKiNnOLP+OytzUANrIUJjoq6oal
|
|
31
|
+
TC+f/Uc0TLaRqUaW/bejxzDWWHoM3SU6aoLPuerglzp9zZVzihXwx3jPLUVKDFpF
|
|
32
|
+
Rl2lcBDxlpYGueGo0/oNzGJAAy6js8jhtHC9+19PD53vk7wHtFTZ/0ugDQYnwQ+x
|
|
33
|
+
oml2fAAuVWpTBCgOVFe6XCQpMKopzoxQ1PjKztW2KYxgJdIBX87SnL3aWuBQmhRd
|
|
34
|
+
i9zWxov0mr44TWegTVeypcWGd/0nxu1+QHVNHJrpqlPBRvwQsUm7fwmRInGpcaB8
|
|
35
|
+
ap8wNYvryYzrzvzUxIVFBVM5PacgkFqRmolCa8I7tdKQN+R1
|
|
37
36
|
-----END CERTIFICATE-----
|
|
38
|
-
date:
|
|
37
|
+
date: 2025-03-20 00:00:00.000000000 Z
|
|
39
38
|
dependencies:
|
|
40
39
|
- !ruby/object:Gem::Dependency
|
|
41
40
|
name: karafka-rdkafka
|
|
@@ -43,20 +42,34 @@ dependencies:
|
|
|
43
42
|
requirements:
|
|
44
43
|
- - ">="
|
|
45
44
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 0.
|
|
45
|
+
version: 0.17.6
|
|
47
46
|
- - "<"
|
|
48
47
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: 0.
|
|
48
|
+
version: 0.20.0
|
|
50
49
|
type: :runtime
|
|
51
50
|
prerelease: false
|
|
52
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
53
52
|
requirements:
|
|
54
53
|
- - ">="
|
|
55
54
|
- !ruby/object:Gem::Version
|
|
56
|
-
version: 0.
|
|
55
|
+
version: 0.17.6
|
|
57
56
|
- - "<"
|
|
58
57
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: 0.
|
|
58
|
+
version: 0.20.0
|
|
59
|
+
- !ruby/object:Gem::Dependency
|
|
60
|
+
name: logger
|
|
61
|
+
requirement: !ruby/object:Gem::Requirement
|
|
62
|
+
requirements:
|
|
63
|
+
- - ">="
|
|
64
|
+
- !ruby/object:Gem::Version
|
|
65
|
+
version: 1.6.0
|
|
66
|
+
type: :runtime
|
|
67
|
+
prerelease: false
|
|
68
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
69
|
+
requirements:
|
|
70
|
+
- - ">="
|
|
71
|
+
- !ruby/object:Gem::Version
|
|
72
|
+
version: 1.6.0
|
|
60
73
|
description: A toolset of small support modules used throughout the Karafka ecosystem
|
|
61
74
|
email:
|
|
62
75
|
- contact@karafka.io
|
|
@@ -67,10 +80,12 @@ files:
|
|
|
67
80
|
- ".coditsu/ci.yml"
|
|
68
81
|
- ".console_irbrc"
|
|
69
82
|
- ".diffend.yml"
|
|
83
|
+
- ".github/CODEOWNERS"
|
|
70
84
|
- ".github/FUNDING.yml"
|
|
71
85
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
|
72
86
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
|
73
87
|
- ".github/workflows/ci.yml"
|
|
88
|
+
- ".github/workflows/verify-action-pins.yml"
|
|
74
89
|
- ".gitignore"
|
|
75
90
|
- ".rspec"
|
|
76
91
|
- ".ruby-gemset"
|
|
@@ -81,7 +96,7 @@ files:
|
|
|
81
96
|
- Gemfile.lock
|
|
82
97
|
- MIT-LICENSE
|
|
83
98
|
- README.md
|
|
84
|
-
- certs/
|
|
99
|
+
- certs/cert.pem
|
|
85
100
|
- config/locales/errors.yml
|
|
86
101
|
- karafka-core.gemspec
|
|
87
102
|
- lib/karafka-core.rb
|
|
@@ -119,7 +134,6 @@ metadata:
|
|
|
119
134
|
source_code_uri: https://github.com/karafka/karafka-core
|
|
120
135
|
documentation_uri: https://karafka.io/docs
|
|
121
136
|
rubygems_mfa_required: 'true'
|
|
122
|
-
post_install_message:
|
|
123
137
|
rdoc_options: []
|
|
124
138
|
require_paths:
|
|
125
139
|
- lib
|
|
@@ -127,15 +141,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
127
141
|
requirements:
|
|
128
142
|
- - ">="
|
|
129
143
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: 3.
|
|
144
|
+
version: 3.1.0
|
|
131
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
146
|
requirements:
|
|
133
147
|
- - ">="
|
|
134
148
|
- !ruby/object:Gem::Version
|
|
135
149
|
version: '0'
|
|
136
150
|
requirements: []
|
|
137
|
-
rubygems_version: 3.
|
|
138
|
-
signing_key:
|
|
151
|
+
rubygems_version: 3.6.2
|
|
139
152
|
specification_version: 4
|
|
140
153
|
summary: Karafka ecosystem core modules
|
|
141
154
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/certs/cert_chain.pem
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
|
2
|
-
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
|
|
3
|
-
YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
|
|
4
|
-
MB4XDTIzMDgyMTA3MjU1NFoXDTI0MDgyMDA3MjU1NFowPzEQMA4GA1UEAwwHY29u
|
|
5
|
-
dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
|
|
6
|
-
bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAOuZpyQKEwsTG9plLat7
|
|
7
|
-
8bUaNuNBEnouTsNMr6X+XTgvyrAxTuocdsyP1sNCjdS1B8RiiDH1/Nt9qpvlBWon
|
|
8
|
-
sdJ1SYhaWNVfqiYStTDnCx3PRMmHRdD4KqUWKpN6VpZ1O/Zu+9Mw0COmvXgZuuO9
|
|
9
|
-
wMSJkXRo6dTCfMedLAIxjMeBIxtoLR2e6Jm6MR8+8WYYVWrO9kSOOt5eKQLBY7aK
|
|
10
|
-
b/Dc40EcJKPg3Z30Pia1M9ZyRlb6SOj6SKpHRqc7vbVQxjEw6Jjal1lZ49m3YZMd
|
|
11
|
-
ArMAs9lQZNdSw5/UX6HWWURLowg6k10RnhTUtYyzO9BFev0JFJftHnmuk8vtb+SD
|
|
12
|
-
5VPmjFXg2VOcw0B7FtG75Vackk8QKfgVe3nSPhVpew2CSPlbJzH80wChbr19+e3+
|
|
13
|
-
YGr1tOiaJrL6c+PNmb0F31NXMKpj/r+n15HwlTMRxQrzFcgjBlxf2XFGnPQXHhBm
|
|
14
|
-
kp1OFnEq4GG9sON4glRldkwzi/f/fGcZmo5fm3d+0ZdNgwIDAQABo3cwdTAJBgNV
|
|
15
|
-
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUPVH5+dLA80A1kJ2Uz5iGwfOa
|
|
16
|
-
1+swHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
|
|
17
|
-
bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEAnpa0jcN7JzREHMTQ
|
|
18
|
-
bfZ+xcvlrzuROMY6A3zIZmQgbnoZZNuX4cMRrT1p1HuwXpxdpHPw7dDjYqWw3+1h
|
|
19
|
-
3mXLeMuk7amjQpYoSWU/OIZMhIsARra22UN8qkkUlUj3AwTaChVKN/bPJOM2DzfU
|
|
20
|
-
kz9vUgLeYYFfQbZqeI6SsM7ltilRV4W8D9yNUQQvOxCFxtLOetJ00fC/E7zMUzbK
|
|
21
|
-
IBwYFQYsbI6XQzgAIPW6nGSYKgRhkfpmquXSNKZRIQ4V6bFrufa+DzD0bt2ZA3ah
|
|
22
|
-
fMmJguyb5L2Gf1zpDXzFSPMG7YQFLzwYz1zZZvOU7/UCpQsHpID/YxqDp4+Dgb+Y
|
|
23
|
-
qma0whX8UG/gXFV2pYWpYOfpatvahwi+A1TwPQsuZwkkhi1OyF1At3RY+hjSXyav
|
|
24
|
-
AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
|
|
25
|
-
msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
|
|
26
|
-
-----END CERTIFICATE-----
|