Skip to content

feat: S3 Parquet exporter, flowBuffer, and console cold/hot raw flows - #2845

Draft
jpinsonneau wants to merge 1 commit into
netobserv:mainfrom
jpinsonneau:s3-parquet
Draft

feat: S3 Parquet exporter, flowBuffer, and console cold/hot raw flows#2845
jpinsonneau wants to merge 1 commit into
netobserv:mainfrom
jpinsonneau:s3-parquet

Conversation

@jpinsonneau

@jpinsonneau jpinsonneau commented Jul 20, 2026

Copy link
Copy Markdown
Member

Summary

Epic hub for S3 / Hive Parquet / flowBuffer raw-flow storage and query (Loki-optional path).

This PR (operator):

  • FlowCollector API: processors.flowBuffer, S3 exporters (Hive Parquet schema v1), consolePlugin.s3.enable
  • FLP reconcile: encode.s3 + write.flowBuffer, query port 9200, peer discovery RBAC (netobserv-flp-peer-query), NetworkPolicy
  • Console plugin ConfigMap: flowBuffer URL + s3 datasource (not s3Query)
  • Docs: docs/S3_Parquet.md, Architecture / FAQ / NetworkPolicy updates

Sibling draft PRs

Component PR
flowlogs-pipeline netobserv/flowlogs-pipeline#1298
console plugin netobserv/netobserv-web-console#1605
CLI netobserv/netobserv-cli#542

Skipped: netobserv-ebpf-agent — only go.mod / vendor bump of FLP (no agent code); no agent PR. For Kind CLI captures that need embedded FLP S3 Parquet, use image quay.io/jpinsonn/netobserv-ebpf-agent:s3-flowbuffer (see CLI PR for override env and full test steps).

Test plan

  • Unit: make test (FLP pipeline builder, reconciler, webhook validation)
  • CRD/bundle: make update-bundle already reflected in this PR’s manifests
  • Kind e2e below

Kind testing — Operator + console + FLP

  1. Kind cluster; install MinIO and cert-manager.
  2. Images (or build from PR branches):
    • quay.io/jpinsonn/{flowlogs-pipeline,network-observability-operator,network-observability-console-plugin}:s3-flowbuffer
  3. FlowCollector:
    • Loki off
    • processors.flowBuffer on
    • S3 exporter → MinIO (Hive Parquet)
    • consolePlugin.s3.enable
    • Standalone console (or plugin) as preferred
  4. Verify:
    • Parquet objects in MinIO under Hive layout (cluster_id=.../)
    • Console GetFlows via FLP buffer and S3
    • Buffer-only mode (no Loki/S3 cold path as configured)
    • Overview still uses Prometheus

Kind testing — CLI

Full CLI Kind plan (custom agent/collector images, S3 env, MinIO verify) lives in the CLI PR. Agent artifact until/unless a separate agent PR lands: quay.io/jpinsonn/netobserv-ebpf-agent:s3-flowbuffer.

Notes

  • Cross-repo contracts: port 9200, /api/flowbuffer/flows, consolePlugin.s3, schema v1 Hive Parquet, CLI default json,sqlite.
  • Fork remotes are under jpinsonneau (GitHub user); Quay tags in the Kind plan use jpinsonn as in the local image naming convention.

Made with Cursor

Wire CRD/API for processors.flowBuffer and S3 exporters, reconcile FLP
pipeline stages, peer-query RBAC/NetworkPolicy on port 9200, and
console plugin config (flowBuffer + s3) so GetFlows can use hot buffer
and cold Hive Parquet without Loki.

Co-authored-by: Cursor <cursoragent@cursor.com>
@openshift-ci

openshift-ci Bot commented Jul 20, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2e5f4d42-05a6-476c-ae21-acaad50c15fb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@openshift-ci

openshift-ci Bot commented Jul 20, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign stleerh for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci

openshift-ci Bot commented Jul 29, 2026

Copy link
Copy Markdown

PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant