Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
805e0d4
feat(splunk_hec source): support second-stage framing and decoding
thomasqueirozb Apr 27, 2026
4034cd0
preserve original send_event/ack ordering when no decoder is set
thomasqueirozb Apr 27, 2026
ad824b1
Add authors to changelog
thomasqueirozb Apr 28, 2026
530acc0
Format
thomasqueirozb Apr 28, 2026
c6e4974
refactor(splunk_hec source): split codec config into per-endpoint eve…
thomasqueirozb Apr 28, 2026
e86b093
fix(splunk_hec source): include legacy log shape in schema when only …
thomasqueirozb Apr 28, 2026
5454d2d
address review: schema InsertIfEmpty parity + apply splunk_hec_token …
thomasqueirozb Apr 28, 2026
ff17286
feat(codecs): add Deserializer::parse_with_secrets and Decoder::with_…
thomasqueirozb Apr 28, 2026
a12389d
refactor: move metadata_template to VrlDeserializer only; no Decoder/…
thomasqueirozb Apr 29, 2026
ac4873b
feat(codecs): add inject_metadata to VRL decoder; wire up in exec source
thomasqueirozb Apr 29, 2026
aecddcf
fix(exec source): preserve VRL-written metadata; add DeserializerConf…
thomasqueirozb Apr 29, 2026
3f04870
fmt
thomasqueirozb Apr 29, 2026
bba7ae5
Add authors line to changelog
thomasqueirozb Apr 29, 2026
bdc4914
merge: bring in VRL decoder inject_metadata mechanism from decoder-me…
thomasqueirozb Apr 29, 2026
4777a95
refactor(codecs): remove inject_metadata flag; with_metadata_template…
thomasqueirozb Apr 29, 2026
08bb10b
feat(splunk_hec source): inject envelope metadata into VRL decoder be…
thomasqueirozb Apr 29, 2026
55dda8d
fmt
thomasqueirozb Apr 29, 2026
693bf61
fix(splunk_hec source): use InsertIfEmpty semantics for Vector-namesp…
thomasqueirozb Apr 29, 2026
113fc11
refactor: replace get-then-insert with log.try_insert for metadata In…
thomasqueirozb Apr 29, 2026
fa2199a
fix(splunk_hec source): reject empty event field in decoder path; ski…
thomasqueirozb Apr 29, 2026
54c512e
fix(splunk_hec source): only write splunk_hec.timestamp for /event de…
thomasqueirozb Apr 29, 2026
c993ed8
test(splunk_hec source): add VRL decoder end-to-end test covering env…
thomasqueirozb Apr 29, 2026
253b958
fix fmt + clippy
thomasqueirozb Apr 29, 2026
8094a7e
fmt
thomasqueirozb Apr 29, 2026
8a34522
fix(splunk_hec source): per-endpoint schema strategy without metadata…
thomasqueirozb Apr 29, 2026
e1f25c9
fix(splunk_hec source): apply extractors before fields in decoder pat…
thomasqueirozb May 1, 2026
095a52b
Avoid roundtrip json parsing during decoding
thomasqueirozb May 1, 2026
ea6e391
Fix stale documentation
thomasqueirozb May 1, 2026
657a791
Fix clippy by building DecodePayloadContext
thomasqueirozb May 4, 2026
17bfef1
refactor(splunk_hec source): extract validate_event_field and use raw…
thomasqueirozb May 4, 2026
5987d6f
Update documentation
thomasqueirozb May 4, 2026
27d87ea
Address docs review
thomasqueirozb May 4, 2026
7bd36cb
fix(splunk_hec source): pass string events as raw bytes to decoder
thomasqueirozb May 5, 2026
50460ce
refactor(splunk_hec source): extract register_ack helper to reduce in…
thomasqueirozb May 5, 2026
9c4e21f
EndpointCodecConfig -> CodecConfig
thomasqueirozb May 5, 2026
8cd9c59
simplify docs
thomasqueirozb May 5, 2026
0bcb9f1
Remove VrlDeserializer doc comment from `with_metadata_template`
thomasqueirozb May 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions changelog.d/splunk_hec_source_codec.enhancement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
The `splunk_hec` source now accepts optional per-endpoint codec configuration via `event: { framing, decoding }` and `raw: { framing, decoding }`. When `decoding` is set on an endpoint, Vector applies a second decoding pass after the HEC envelope is parsed: on `/services/collector/event` the envelope's `event` field is fed through the codec (string contents are passed as raw bytes; objects, arrays, and other JSON values are JSON-serialized first to preserve shape), and on `/services/collector/raw` the request body is fed through the codec directly. A single payload can fan out to multiple events. Decoder-produced fields win on conflict with HEC envelope metadata, and decode failures do not surface to the Splunk client. Each endpoint is configured independently; when neither endpoint is configured the source preserves its existing behavior unchanged.
Comment thread
thomasqueirozb marked this conversation as resolved.
Outdated

authors: thomasqueirozb
Loading
Loading