Skip to content

out_manticore: add Manticore bulk import output - #2

Open
tomatolog wants to merge 3 commits into
masterfrom
feat/out_plugin_manticore
Open

tomatolog wants to merge 3 commits into
masterfrom
feat/out_plugin_manticore

Conversation

@tomatolog

@tomatolog tomatolog commented Sep 15, 2026

Copy link
Copy Markdown

Add a native out_manticore output plugin for Fluent Bit.

The plugin sends Fluent Bit records to Manticore's bulk-import HTTP endpoint,
supports insert and create actions, chunked transfer, retryable and
permanent item responses, single-chunk session replay, and spool recovery.

The PR is intentionally limited to the plugin, its registration/configuration,
and focused integration coverage. Fluent Bit engine behavior is unchanged.


Enter [N/A] in the box, if an item is not applicable to your change.

Testing
Before we can approve your change; please submit the following in a comment:

  • Example configuration file for the change

Example configuration:

conf/out_manticore.conf

Focused scenario configurations and tests:

tests/integration/scenarios/out_manticore/

  • Debug log output from testing the change

Validation image:

fluent-bit-manticore-validation:ab8722ab0bd4
Ubuntu 22.04, CMake 3.22.1, Python 3.10.12, Valgrind 3.18.1
Fluent Bit v5.1.2

The image was built from the signed commit series without source overlays.
The tests use the standard FluentBitTestService and FluentBitManager
lifecycle for every Fluent Bit process. The scenarios use an ephemeral HTTP
receiver and do not require a running Manticore daemon.

Normal focused integration run:

======================== 8 passed in 109.83s (0:01:49) =========================

Command:

tests/integration/.venv/bin/python -m pytest \
  tests/integration/scenarios/out_manticore -q
  • Attached Valgrind output that shows no leaks or memory corruption was found

Strict Valgrind run:

VALGRIND=1 VALGRIND_STRICT=1
======================== 8 passed in 135.50s (0:02:15) =========================

Valgrind logs: 35
Completed logs: 35/35
ERROR SUMMARY: 0 errors from 0 contexts: 35/35
All heap blocks were freed -- no leaks are possible: 35/35
Bad or missing checks: 0

Command:

VALGRIND=1 VALGRIND_STRICT=1 \
tests/integration/.venv/bin/python -m pytest \
  tests/integration/scenarios/out_manticore -q

Representative output from the manager-generated logs:

==23== HEAP SUMMARY:
==23==     in use at exit: 0 bytes in 0 blocks
==23==   total heap usage: 6,709 allocs, 6,709 frees, 1,454,173 bytes allocated
==23==
==23== All heap blocks were freed -- no leaks are possible
==23==
==23== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

If this is a change to packaging of containers or native binaries then please confirm it works for all targets.

  • Run local packaging test showing all targets (including any new ones) build.
  • Set ok-package-test label to test for all targets (requires maintainer to do).

Documentation

  • Documentation required for this feature

Backporting

  • Backport to latest stable release.

Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

Signed-off-by: Stas <tomat1979@gmail.com>
Signed-off-by: Stas <tomat1979@gmail.com>
@tomatolog tomatolog changed the title tmp out plugin manticore out_manticore: add Manticore bulk import output Sep 15, 2026
Signed-off-by: Stas <tomat1979@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant