-
Notifications
You must be signed in to change notification settings - Fork 197
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
Vulnerability scanning encounters "etcdserver: request is too large" #899
Comments
Additionally I can see that these stuck vulnerability scans count against the My |
As a workaround, I have tried limiting trivy's |
👋 @FrederikNS Thank you for the feedback. This is a well known limitation of Starboard (and K8s with its default etcd storage) right now, and we do not implement any fallback strategy. Do you have any ideas what we could do in such case? BTW, is it possible to share the image and image size or at least the number of all vulnerabilities found by Trivy that cause this error? |
In the specific case that the report is too large I propose at least storing everything except the vulnerabilities list and adding an annotation On a more general scope I assume compressing the vulnerabilities field could do the trick (helm went that way early on). OC this would require some changes throughout the complete tooling stack. A more "advanced" change would be to allow storing the reports in a database, at least for the operator deployments. Maybe something memcache compatible, considering that the reports can be ephemeral. TBO abusing the ETCD resource store for this kind of data sounds like a malpractice altogether. Another way might be to provide a report consumer that collects and stores the reports and services them on request e.g., via a webinterface. |
I like the current behavior of having the reports in same namespace as the resource they relate to. It makes it possible to use RBAC to restrict access to those reports (which may contain sensitive information). If the reports are stored outside of Etcd, we need to make sure that we cannot access all the reports with a single set of credentials. An idea would be to create a set of credentials in each namespace. Using the credentials from a namespace should only give access to the reports related to this namespace. |
What steps did you take and what happened:
I installed Starboard-operator using the helm chart and allowed it to run on my entire cluster. Some of the vulnerability scan jobs get stuck and the starboard-operator is logging messages about "etcdserver: request is too large". Here's a complete log line:
I suspect that I have some images with way too many vulnerabilities... So being able to store them so I can track them down would be really nice.
What did you expect to happen:
I expected Starboard to be able to store the vulnerability reports properly.
Anything else you would like to add:
It seems to already be discussed in #208, but it seems that some information was stripped out of the vulnerabilityreport, and the issue was closed due to being "too unlikely", even though the issue still occurs for me.
My complete values for the helm chart is:
Environment:
starboard version
): 0.13.2kubectl version
): 1.19.7The text was updated successfully, but these errors were encountered: