Skip to content

Conversation

@pzl
Copy link
Member

@pzl pzl commented Sep 9, 2025

What is the problem this PR solves?

Adds a configuration parameter to fleet server for the maximum size of transferred files via actions

How does this PR solve the problem?

Hard coded limit (100MiB previously) is now a config.

Default is also changed to be unlimited. The file transfer feature launched with very conservative limits on request rates and file sizes. File size itself is primarily an impact on Elasticsearch at rest, at does not effect fleet server, aside from the time to transfer the bytes. Requests are still chunked, chunk size is not changing.

Design Checklist

  • I have ensured my design is stateless and will work when multiple fleet-server instances are behind a load balancer.
  • I have or intend to scale test my changes, ensuring it will work reliably with 100K+ agents connected.
  • I have included fail safe mechanisms to limit the load on fleet-server: rate limiting, circuit breakers, caching, load shedding, etc.

Checklist

  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in ./changelog/fragments using the changelog tool

@pzl pzl added the enhancement New feature or request label Sep 9, 2025
@prodsecmachine
Copy link

prodsecmachine commented Sep 9, 2025

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Licenses 0 0 0 0 0 issues
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@mergify
Copy link
Contributor

mergify bot commented Sep 9, 2025

This pull request does not have a backport label. Could you fix it @pzl? 🙏
To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-./d./d is the label to automatically backport to the 8./d branch. /d is the digit
  • backport-active-all is the label that automatically backports to all active branches.
  • backport-active-8 is the label that automatically backports to all active minor branches for the 8 major.
  • backport-active-9 is the label that automatically backports to all active minor branches for the 9 major.

@pzl pzl marked this pull request as ready for review September 10, 2025 15:10
@pzl pzl requested a review from a team as a code owner September 10, 2025 15:10
@pzl pzl requested review from pchila and ycombinator September 10, 2025 15:10
@pierrehilbert pierrehilbert added the Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team label Sep 12, 2025
@elastic-sonarqube
Copy link

# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added.
# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number.
# Please provide it if you are adding a fragment for a different PR.
#pr: https://github.com/owner/repo/1234

Choose a reason for hiding this comment

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

Suggested change
#pr: https://github.com/owner/repo/1234
pr: https://github.com/elastic/fleet-server/pull/5478

@ebeahan
Copy link
Member

ebeahan commented Oct 23, 2025

@pzl do you plan to continue work on this PR? If not, I'll plan to close, and you can reopen/recreate when ready to work on it again.

@pzl
Copy link
Member Author

pzl commented Oct 23, 2025

continue work on this PR?

Thanks @ebeahan , we're actually picking this back up now!

Seems like where this left off, was discussion around what type the storage size variable should be, and meanings on edge case numbers (0, negative values), for some concept of "unlimited".

@ycombinator @nkvoll @pchila Can we reach a consensus on what we want that to be?

@ycombinator
Copy link
Contributor

continue work on this PR?

Thanks @ebeahan , we're actually picking this back up now!

Seems like where this left off, was discussion around what type the storage size variable should be, and meanings on edge case numbers (0, negative values), for some concept of "unlimited".

@ycombinator @nkvoll @pchila Can we reach a consensus on what we want that to be?

Apologies for missing this ping (thanks @ebeahan). I think we're pretty close / aligned; here's my take: #5478 (comment)

@nkvoll
Copy link
Member

nkvoll commented Nov 7, 2025

I'm on board with what @ycombinator wrote above, that makes sense to me 👍

@pchila
Copy link
Member

pchila commented Nov 13, 2025

continue work on this PR?

Thanks @ebeahan , we're actually picking this back up now!
Seems like where this left off, was discussion around what type the storage size variable should be, and meanings on edge case numbers (0, negative values), for some concept of "unlimited".
@ycombinator @nkvoll @pchila Can we reach a consensus on what we want that to be?

Apologies for missing this ping (thanks @ebeahan). I think we're pretty close / aligned; here's my take: #5478 (comment)

@ycombinator proposal works for me as well 👍

@pzl pzl requested review from nkvoll, pchila and ycombinator November 13, 2025 17:38
@pzl
Copy link
Member Author

pzl commented Nov 14, 2025

Thanks all, made the change so that nil is unlimited, 0 is disabled feature, and a stated value is the limit, and its a uint so no negatives. Ready for another look-over

cc @ycombinator @pchila @nkvoll

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

Labels

enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants