Skip to content

Comments

(feat) Add EvaluateIndependently field to HealthCheckSpec#603

Merged
gianlucam76 merged 1 commit intoprojectsveltos:mainfrom
gianlucam76:healthcheck-chunk
Feb 7, 2026
Merged

(feat) Add EvaluateIndependently field to HealthCheckSpec#603
gianlucam76 merged 1 commit intoprojectsveltos:mainfrom
gianlucam76:healthcheck-chunk

Conversation

@gianlucam76
Copy link
Member

This PR introduces the EvaluateIndependently field to the HealthCheck API. This field serves as a hint to the controller that resources can be processed in smaller batches (chunks) rather than loading the entire set into the Lua engine at once.

Currently, all resources matched by a selector are passed into a single Lua resources table. In large-scale environments, converting thousands of Kubernetes objects into Lua tables simultaneously causes massive memory spikes, often leading to OOM (Out of Memory) kills for the agent.

  • When false: The controller maintains existing behavior, passing all resources at once. This is required for scripts that perform cross-resource analysis (e.g., "Are at least 3 replicas of this app healthy?").

  • When true: The controller is authorized to split the resource list into chunks (e.g., 50 at a time). This significantly lowers the memory ceiling because the Lua heap only needs to hold a small subset of data during each iteration.

This PR introduces the `EvaluateIndependently` field to the HealthCheck API.
This field serves as a hint to the controller that resources can be processed
in smaller batches (chunks) rather than loading the entire set into the Lua
engine at once.

Currently, all resources matched by a selector are passed into a single Lua
resources table. In large-scale environments, converting thousands of Kubernetes
objects into Lua tables simultaneously causes massive memory spikes, often leading
to OOM (Out of Memory) kills for the agent.

- **When false**: The controller maintains existing behavior, passing all resources at once.
This is required for scripts that perform cross-resource analysis (e.g., "Are at least
3 replicas of this app healthy?").

- **When true**: The controller is authorized to split the resource list into chunks
(e.g., 50 at a time). This significantly lowers the memory ceiling because the Lua heap
only needs to hold a small subset of data during each iteration.
@gianlucam76 gianlucam76 merged commit d3a3310 into projectsveltos:main Feb 7, 2026
2 checks passed
@gianlucam76 gianlucam76 deleted the healthcheck-chunk branch February 7, 2026 08:39
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