-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Update insecure packages immediately, even when schedule is set #1567
Comments
Hi @openjck, thanks for the suggestion. The key point is how to know when to do this, however this is definitely something I plan to do. |
Can we do this with a community-sourced set of packageRules to override schedules? It could be in the form of an opt-in preset. Eg today there were node security releases for all supported streams. Basically anyone using node should upgrade. But that doesn’t mean that node should be upgrade forever now (eg if there’s a job security patch tomorrow). Maybe instead our rule should be a >= or < concept, ie override schedule of existing version is less than x.y.z. Little hard when something like node has multiple major versions at once, but most shouldn’t be like that. Also we probably need to remove any groupName so that it doesn’t get mixed up with others that are non-urgent. Maybe also apply a label. I suggest we design it as a preset but the option to include it is a native config option enabled/disabled. |
I just discovered the nsp module, which flags insecure dependencies. I think they use https://nodesecurity.io/ under the hood. |
I just discovered another neat addition to the ecosystem: synk. It looks like Renovate for security vulnerabilities. But I'm pretty loyal to Renovate and I'd love if it could do both at once. Plus it would be annoying to enable/configure yet another service for all of the repos I manage. |
|
Adds rules to skip any configured grouping or schedules that prevent insecure packages from being updated immediately. If GitHub's vulnerability alerts are detected, package rules are added to force empty schedule and grouping for each affected package. Settings are configurable via new `vulnerabilityAlerts` config object, e.g. so that custom PR titles, labels or assignees can be configured. Closes #1567
🎉 This issue has been resolved in version 13.37.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This feature will become active in the Renovate App once additional permissions for reading vulnerability alerts are granted. |
@rarkins so I guess #2321 added a feature to configure the security vulnerability PRs separately. What is not clear from this or the documentation is how a user would achieve resetting an existing schedule, as requested in this issue. Trying to piece together the config documentation, maybe something like the following would work? The default schedule would be set to {
"schedule": "before 6am on friday",
"vulnerabilityAlerts": {
"schedule": null
}
} |
Hi all, I have a question regarding the vulnerability alerts: Do they only work on GitHub or can I use them everywhere? I'm a bit confused by the text here: https://docs.renovatebot.com/configuration-options/#vulnerabilityalerts |
Currently they only work for github, because it's implemented in platform. |
@viceice @rarkins or based on this commit maybe it's something more like this? {
"schedule": "before 6am on friday",
"vulnerabilityAlerts": {
"schedule": "at any time"
}
} Got
|
I think either should work, and neither should be necessary. We have default schedule settings for alerts already. |
Hm, really? Maybe this is a misunderstanding. What I want to do is to override an existing schedule (eg. weekly) for vulnerabilities. I want vulnerability alerts to appear instantly. For example, what do I need to add to this config to make vulnerability alerts appear immediately? {
"extends": [
"config:base"
],
"schedule": "before 6am on friday"
} |
@karlhorky Use this: {
"extends": [
"config:base"
],
"schedule": "before 6am on friday",
"vulnerabilityAlerts": {
"schedule": null
}
}
@rarkins I don't find a default schedule for renovate/lib/config/presets/internal/default.ts Lines 491 to 510 in a8f27e0
|
Ok found this: renovate/lib/config/definitions.ts Lines 1202 to 1214 in 7651d2e
Which should reset schedule. |
Let's not discuss things in 2+ year old closed issues any further though, we have a config help repo for this type of thing |
@rarkins oh, really? That would be really cool! That's one of the most difficult thing about Renovate that I've experienced - the configuration is hard to piece together. The docs don't answer all questions that I have found myself asking about certain config options. Googling usually leads to issues like this, which is why I've been trying to put together a lot of examples for those who are looking. |
I guess you mean these issues in this here: https://github.com/renovatebot/config-help/issues |
PRs to improve the docs (which are open source, in this repo) are preferred over criticisms. Open source projects have makers and takers.. choose your path. |
I think it's not that clear cut. Re makers vs takers: It doesn't make sense for a lot of people to contribute out of time reasons. Furthermore, if someone is not comfortable with their knowledge on something, it's very difficult or impossible for them to contribute. Re criticism: Non-toxic criticism is helpful for showing signals that something could be better. Sorry if I came over as toxic or negative. Renovate is awesome! That said, I am already more on the end of the spectrum of "maker" (check out my contributions to open source if you want), and I will contribute to the Renovate docs, as soon as feel a bit more comfortable with my skills and the correctness of what I'm doing. I assume that the Configuration Options page is here: https://github.com/renovatebot/renovate/blob/master/docs/usage/configuration-options.md , is that correct? |
"The docs leave a lot to be desired." came across as non-constructive (toxic would not be a word I'd typically use, and definitely not here). I think most docs - open source or otherwise - could be improved greatly including ours, but in many ways ours are awesome. e.g. our linting rules mean it's impossible to add a config option to the product without a description for it, and the fact you need to add a subheading for it to the markdown doc too subtly encourages extended documentation too. It's thankfully still the exception but as use of the project has grown, so too has the occurrences of people who act like they're owed or entitled to hand-holding, so anyway I also apologize that I lumped you into that group due to your comment. I did make sure to insert the word "project" after "open source" as people can be either in different contexts, myself included. If a repo was source code only then I agree that some people simply can't contribute. But docs is another matter, and we have quite a lot of people who've proposed helpful edits to the markdown files without needing to even read a line of code. The docs you see on the website are mostly all in the docs/usage/ folder and any approved PRs get automatically published pretty soon after. Any time you find it takes you more than one or two passes through the text to understand what it means, feel free to re-phrase or add to it to help the next user. Even if you're not sure of what's best feel free to raise a draft PR for feedback and we can suggest something better than what's there currently. If you feel really motivated about a particular topic, you can even create a new file on that topic as we don't have any fixed structure. |
Understandable, I've reworded my original comment.
Will do, sure, if I get some time soon! I think aside from clarity, some suggestions I would have would be:
|
All possible configuration options are in that file. For the values, we try to auto-generate that information from https://github.com/renovatebot/renovate/blob/master/lib/config/definitions.ts as it's prepared for docs.renovatebot.com
Yes, I agree that a most common topics doc could be useful. We need to offset the effects of overwhelming the typical user who just wants to get started (for whom which our
We should maybe do that now, seeing as it's grown so large now. It would need to be done in https://github.com/renovatebot/renovatebot.github.io
This kind of thing is hard to curate, as it starts growing large before long (it already grew too large around 2018-2019 so got absorbed into the regular docs). |
The schedule option can be used to force Renovate to wait until a given time before opening pull requests.
This can help cut down on noise, but developers who use this option risk missing critical security updates. For example, if Renovate is scheduled to update packages on Mondays, and a security update is published on a Tuesday, the project using Renovate might be insecure for 6 days.
I'd like to request that Renovate identify security updates and open pull requests for them immediately, even when a schedule is set.
The text was updated successfully, but these errors were encountered: