Description
Hey, would you consider a config option that gates notifications by manifest age?
Something like:
watch:
schedule: "0 9 * * 0"
min_image_age: 168h
Or as a per-image label: diun.min_image_age=168h.
The idea is: skip notifying about a new digest until it's been around for a while. If the manifest's Created timestamp is younger than the threshold, hold off, it'll get picked up on the next scheduled run once it ages in.
Two reasons this would be useful:
Day-zero noise. Watching :latest means seeing every rebuild the moment it ships. Most of the time I don't want to update on day one; I want to wait a bit and see if it's stable.
Supply chain safety. If a maintainer account or build pipeline gets compromised and a malicious image gets pushed to a rolling tag, those bad artifacts usually get caught and yanked within hours to days. A min-age gate means I never see the notification for a tag that didn't survive that window; by the time I'm notified, the community has had a chance to flag it. It's a cheap, voluntary "let the herd test it first" defense.
The data is already on hand .Entry.Manifest.Created is exposed in templates today. The change would be using it to filter as well as display.
Happy to take a stab at a PR if the idea has legs. Thanks for diun, it's exactly the right shape of tool.
Description
Hey, would you consider a config option that gates notifications by manifest age?
Something like:
Or as a per-image label:
diun.min_image_age=168h.The idea is: skip notifying about a new digest until it's been around for a while. If the manifest's
Createdtimestamp is younger than the threshold, hold off, it'll get picked up on the next scheduled run once it ages in.Two reasons this would be useful:
Day-zero noise. Watching
:latestmeans seeing every rebuild the moment it ships. Most of the time I don't want to update on day one; I want to wait a bit and see if it's stable.Supply chain safety. If a maintainer account or build pipeline gets compromised and a malicious image gets pushed to a rolling tag, those bad artifacts usually get caught and yanked within hours to days. A min-age gate means I never see the notification for a tag that didn't survive that window; by the time I'm notified, the community has had a chance to flag it. It's a cheap, voluntary "let the herd test it first" defense.
The data is already on hand
.Entry.Manifest.Createdis exposed in templates today. The change would be using it to filter as well as display.Happy to take a stab at a PR if the idea has legs. Thanks for diun, it's exactly the right shape of tool.