PoC: Use jsontext package to stream components from checkin requests#7087
PoC: Use jsontext package to stream components from checkin requests#7087michel-laterman wants to merge 1 commit into
Conversation
|
This pull request does not have a backport label. Could you fix it @michel-laterman? 🙏
|
TL;DR
Remediation
Investigation detailsRoot CauseThis is a configuration/dependency metadata drift failure in CI, not a test/runtime failure.
The Buildkite job shows those generated changes were not committed in the PR branch, so Evidence
The same log diff also shows CI wanting Verification
Follow-up
Note 🔒 Integrity filter blocked 4 itemsThe following items were blocked because they don't meet the GitHub integrity level.
To allow these resources, lower tools:
github:
min-integrity: approved # merged | approved | unapproved | noneWhat is this? | From workflow: PR Buildkite Detective Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
fc612e3 to
3281650
Compare
|
This pull request is now in conflicts. Could you fix it @michel-laterman? 🙏 |
PoC DO NOT MERGE
What is the problem this PR solves?
Checkin requests from agents running synthetic monitors can exceed the checkin request body size limit due to the length of the components attribute.
How does this PR solve the problem?
Use the upcoming jsontext package to handle parsing the json checkin request.
This allows the checkin validator to read the components array as a stream and issue intermediate updates to ES (set to flush once 4MB of objects have been read).
The fleet-server -> ES update function is currently missing from this PoC as it was intended to demo large request handling on the fleet-server.
This PoC is also missing other safeties - such as max size guards against the rest of the body.
How to test this PR locally
N/A - this is a partial implementation that does not update the components list in ES
Design Checklist
Checklist
./changelog/fragmentsusing the changelog toolRelated issues