-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apply KRM functions in batches #5673
Comments
Hi @Homulvas I'm so sorry, but I can't understand what you think about My guess is that your transformer takes a few minutes to start, and you want to process many yamls all at once. /triage needs-information |
I may have worded the request poorly. The crux of the issue is that a lot of unnecessary I/O is done when there are multiple transformations.
The issue is that it's always virtually the same yaml. You read a big yaml input, apply a small transformation, write the output. For each separate transformation only the transform step should be repeated. |
Sorry, I didn't understand what you want now. Do you care about the call overhead of a custom transformer? I think the current custom transformer interface looks like can kustomize/kyaml/fn/framework/framework.go Lines 16 to 58 in e3a7615
|
Eschewed features
What would you like to have added?
Following the suggestion in #5173 we have implemented our own resource transformers. While this generally works we have run into a performance issue where for a big enough target each transformer takes maybe a second or two to process. Now this alone wouldn't be that bad but each additional transformer impacts the runtime linearly. This leads to cases where the time spent applying the transformers is the majority of the whole build.
Why is this needed?
Piping the complete input/output for each KRM function separately is inefficient and makes builds very slow for big enough targets.
Can you accomplish the motivating task without this feature, and if so, how?
One possible workaround is to have all transformations inside a single transformer file. However, this makes the transformers hard to use as you have to treat them with special care.
What other solutions have you considered?
A workaround has been described above.
Anything else we should know?
No response
Feature ownership
The text was updated successfully, but these errors were encountered: