Skip to content

Conversation

@eschabell
Copy link
Collaborator

@eschabell eschabell commented Nov 25, 2025

Added section to router docs for label-based matching for Fluent Bit 4.2. Fixes #2203.

Summary by CodeRabbit

Release Notes

  • Documentation
    • Added comprehensive guide for label-based routing with configuration examples and best practices
    • Documented label storage mechanism and matching process for stable routing
    • Updated routing strategy guidance presenting three approaches: tag-based, conditional, and label-based matching
    • Included production and development routing scenarios

✏️ Tip: You can customize this high-level summary in your review settings.

@eschabell eschabell self-assigned this Nov 25, 2025
@eschabell eschabell requested review from a team as code owners November 25, 2025 16:06
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 25, 2025

Walkthrough

The router.md documentation file is updated to introduce a new "Label-based Matching" section explaining how labels and plugin names stored in chunk metadata enable stable, direct routing across configuration changes and restarts, with configuration examples and best practices.

Changes

Cohort / File(s) Summary
Documentation - Label-based Routing
pipeline/router.md
Adds new "Label-based Matching" section covering label storage, matching order (aliases, generated names, ID fallback), benefits, configuration guidance, examples (fluent-bit.yaml and fluent-bit.conf), route restoration behavior, plugin-name matching, best practices, and updates routing approach decision table to include label-based matching alongside tag-based and conditional routing.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Content focus: Documentation clarity and accuracy of label-based matching concepts
  • Examples: Configuration snippets (fluent-bit.yaml and fluent-bit.conf) should be validated for syntax correctness
  • Consistency: Ensure decision table accurately reflects the three routing approaches and their use cases

Poem

🐰 With labels as our trusty guides,
Through restarts and changes we ride,
Names and aliases, stable and true,
Chunks find their home, always on cue!
Label-based routing—the hopper's delight! 🎯

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: adding documentation for label-based matching to the router docs, with a specific reference to the issue it addresses.
Linked Issues check ✅ Passed All objectives from issue #2203 are met: label-based matching is documented as a new section with comprehensive examples showing how to match routes using labels and plugin names in chunk metadata.
Out of Scope Changes check ✅ Passed All changes focus solely on documenting label-based matching in the router documentation, with no unrelated modifications or scope creep detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 659d629 and 754e31e.

📒 Files selected for processing (1)
  • pipeline/router.md (3 hunks)
🧰 Additional context used
🪛 GitHub Actions: Lint PRs
pipeline/router.md

[error] 770-770: FluentBit.Latin: Use 'through or by using' instead of ' via '.

🪛 GitHub Check: runner / vale
pipeline/router.md

[failure] 770-770:
[vale] reported by reviewdog 🐶
[FluentBit.Latin] Use 'through or by using' instead of ' via '.

Raw Output:
{"message": "[FluentBit.Latin] Use 'through or by using' instead of ' via '.", "location": {"path": "pipeline/router.md", "range": {"start": {"line": 770, "column": 47}}}, "severity": "ERROR"}

🔇 Additional comments (2)
pipeline/router.md (2)

7-11: Intro updates correctly establish three routing approaches.

The updated introduction and bullet list clearly establish label-based matching as a distinct approach alongside tag-based and conditional routing, setting up the new documentation section logically.


757-948: New Label-based Matching section is well-structured and addresses all PR objectives.

The section comprehensively covers:

  • Clear explanation of how labels and plugin names enable stable routing
  • Configuration examples in both YAML and classic syntax
  • Benefits of the approach with concrete reasons (configuration resilience, stable restarts, type safety)
  • Matching logic walkthrough (alias → generated name → ID fallback)
  • Practical example demonstrating production/development routing with aliases
  • Best practices subsection with actionable guidance

Documentation is thorough, examples are clear, and the integration with the updated decision table (lines 935–946) appropriately positions label-based matching alongside existing approaches.

@eschabell
Copy link
Collaborator Author

AI review passed, merging.

@eschabell eschabell merged commit 60a2d7f into fluent:master Nov 25, 2025
7 checks passed
@eschabell eschabell deleted the erics_label_based_routing branch November 25, 2025 16:15
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.

New Feature 4.2 - Label-based matching docs.

1 participant