julewire-karafka 1.0.0 → 1.0.1
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
- data/CHANGELOG.md +6 -0
- data/docs/configuration.md +1 -1
- data/docs/waterdrop.md +3 -3
- data/julewire-karafka.gemspec +1 -1
- data/lib/julewire/karafka/configuration.rb +2 -1
- data/lib/julewire/karafka/message_context.rb +20 -1
- data/lib/julewire/karafka/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2348fa4e2f74ae14416481646fb82ca838306ba5f637b3ee21d38d8e25d7f1c3
|
|
4
|
+
data.tar.gz: 937a2babb22b4ed2bcc277c12d008568646a0dcef77dac25cbfb9c829b516c57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c1ea911dce21f4ae508f70f8a8d47a9beebe35c44d235ca3d0e5a27753996634ca15f123b4c431f04c4f3fadfe1c2d1d63adfe79bdb56cf11c3a03cb45dfb516
|
|
7
|
+
data.tar.gz: db66dcbf0c4faaccd8b10a1240bdb045f307ddbc842bf375d5e2718119edef8cf5411164e58afe9c3a3e9330c0cacc8c8541d6e90ef027ad1abd8feaa1a6b314
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
## Unreleased
|
|
2
2
|
|
|
3
|
+
## 1.0.1 - 2026-06-25
|
|
4
|
+
|
|
5
|
+
- Default propagation carrier byte limits to 64 KiB and record health when
|
|
6
|
+
oversized or malformed message carriers are ignored on restore.
|
|
7
|
+
- Require julewire-core 1.0.1.
|
|
8
|
+
|
|
3
9
|
## 1.0.0 - 2026-06-21
|
|
4
10
|
|
|
5
11
|
- Initial release: Karafka and WaterDrop event capture, message execution
|
data/docs/configuration.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
| Option | Default | Purpose |
|
|
16
16
|
| --- | --- | --- |
|
|
17
|
-
| `carrier_max_bytes` | `
|
|
17
|
+
| `carrier_max_bytes` | `65_536` | Omit oversized carriers from Kafka headers. |
|
|
18
18
|
| `carrier_filter` | `nil` | Optional inbound header filter before restoring a message carrier. |
|
|
19
19
|
| `consumer_event_names` | `:important` | Consumer monitor event profile or explicit event list. |
|
|
20
20
|
| `producer_event_names` | `:important` | Producer monitor event profile or explicit event list. |
|
data/docs/waterdrop.md
CHANGED
|
@@ -16,9 +16,9 @@ its registered events, `:all` uses the important profile. WaterDrop event
|
|
|
16
16
|
severity is read from the event payload when present; otherwise errors are
|
|
17
17
|
error and normal producer events are info.
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
carry upstream Julewire context.
|
|
19
|
+
`carrier_max_bytes` defaults to `65_536`. Oversized propagation carriers are
|
|
20
|
+
omitted from Kafka headers and ignored on restore. The message still moves
|
|
21
|
+
normally; it just does not carry upstream Julewire context.
|
|
22
22
|
|
|
23
23
|
Message keys, headers, and payload fields are raw unless an application installs
|
|
24
24
|
a processor policy before output.
|
data/julewire-karafka.gemspec
CHANGED
|
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
spec.executables = []
|
|
35
35
|
spec.require_paths = ["lib"]
|
|
36
36
|
|
|
37
|
-
spec.add_dependency "julewire-core", ">= 1.0"
|
|
37
|
+
spec.add_dependency "julewire-core", ">= 1.0.1"
|
|
38
38
|
spec.add_dependency "karafka", ">= 2.5"
|
|
39
39
|
spec.add_dependency "waterdrop", ">= 2.10"
|
|
40
40
|
spec.add_dependency "zeitwerk", ">= 2.8.1"
|
|
@@ -43,7 +43,8 @@ module Julewire
|
|
|
43
43
|
setting :propagation, default: true, predicate: true
|
|
44
44
|
setting :carrier_filter
|
|
45
45
|
setting :carrier_key, default: Julewire::Core::Propagation::Carrier::DEFAULT_KEY
|
|
46
|
-
setting :carrier_max_bytes,
|
|
46
|
+
setting :carrier_max_bytes, default: Julewire::Core::Propagation::Carrier::DEFAULT_MAX_BYTES,
|
|
47
|
+
validate: byte_limit
|
|
47
48
|
setting :source, default: "karafka"
|
|
48
49
|
setting :consumer_event_names, default: :important
|
|
49
50
|
setting :producer_event_names, default: :important
|
|
@@ -10,7 +10,14 @@ module Julewire
|
|
|
10
10
|
fields ||= PayloadReader.message_payload(message)
|
|
11
11
|
carrier = carrier_for(fields, configuration)
|
|
12
12
|
|
|
13
|
-
Julewire::Core::Propagation::Carrier.
|
|
13
|
+
result = Julewire::Core::Propagation::Carrier.extract_result(
|
|
14
|
+
carrier,
|
|
15
|
+
key: configuration.carrier_key,
|
|
16
|
+
max_bytes: configuration.carrier_max_bytes
|
|
17
|
+
)
|
|
18
|
+
record_carrier_restore_failure(result)
|
|
19
|
+
|
|
20
|
+
Julewire::Core::Propagation.restore(result.envelope, owned: true) do
|
|
14
21
|
Julewire::Core::Integration::Facade.with_neutral(message_neutral(fields)) do
|
|
15
22
|
Julewire::Core::Integration::Facade.with_attributes(message_attributes(fields), &)
|
|
16
23
|
end
|
|
@@ -19,6 +26,18 @@ module Julewire
|
|
|
19
26
|
|
|
20
27
|
private
|
|
21
28
|
|
|
29
|
+
def record_carrier_restore_failure(result)
|
|
30
|
+
return unless result.failure?
|
|
31
|
+
|
|
32
|
+
IntegrationHealth.record_failure(
|
|
33
|
+
result.error,
|
|
34
|
+
action: :carrier_restore,
|
|
35
|
+
component: :message_context,
|
|
36
|
+
status: result.status,
|
|
37
|
+
reason: result.reason
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
22
41
|
def carrier_for(fields, configuration)
|
|
23
42
|
return {} unless configuration.propagation?
|
|
24
43
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: julewire-karafka
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alexander Grebennik
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version:
|
|
18
|
+
version: 1.0.1
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version:
|
|
25
|
+
version: 1.0.1
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: karafka
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|