fmartinou / whats-up-docker

What's up Docker ( aka WUD ) gets you notified when a new version of your Docker Container is available.
https://fmartinou.github.io/whats-up-docker
MIT License
1.02k stars 33 forks source link

Labels to enable/disable specific triggers #133

Open derekoharrow opened 2 years ago

derekoharrow commented 2 years ago

Can I request a new feature please - to add labels to enable/disable specific triggers for specific containers.

To give an example, I can setup the Docker trigger to update my containers when a new image is found, but I don't want to update every container. I do, however, want to know when there are updates available.

In this scenario I am using the docker trigger for updates and the pushover and mqtt triggers for notifications, etc.

What I would like is the ability to add a label to containers to specifically enable/disable specific triggers - e.g.

wud.triggers.disable={{trigger_name}} or wud.trigger.{{trigger_name}} = false

fmartinou commented 2 years ago

Hi,

Maybe I can improve the existing feature trigger threshold.

WUD_TRIGGER_{{trigger_type}}}_{trigger_name}_THRESHOLD=all|major|minor|patch

If I extend this feature to make possible to override per container, it should do the trick 🤔

# Prevent from docker trigger to update the container
wud.trigger.docker.local.threshold=none
# Trigger pushover regardless of the change level
wud.trigger.pushover.me.threshold=all

What do you think?

derekoharrow commented 2 years ago

Sounds like that should do the trick just fine.

hcoohb commented 2 years ago

@fmartinou, Thanks for looking into this, I think this would be a great addition that unlocks so many possibilities!

I too definitely would not want auto-update on all the containers, only on specific ones for minor version, and maybe only a couple with major auto-updates (where I don't really care if it crashes)

I liked your proposed solution but could I suggest to also have the none option for the trigger threshold definition. As in:

WUD_TRIGGER_{{trigger_type}}}_{trigger_name}_THRESHOLD=all|major|minor|patch|none

That way the trigger would be off by default for all containers, except if explicitly added through labels.

Thanks!