Feature Request: Support Dependency Cooldown for source plugin · Issue #7866 · updatecli/updatecli · GitHub
Skip to content

Feature Request: Support Dependency Cooldown for source plugin #7866

Open
3 of 6 issues completed
Open

Description

@olblak

Is your feature request related to a problem?

As explained very well here. We don't always want to use the very latest version of an application.

Solution you'd like

I would like to support the parameter cooldown for each source plugin where we can retrieve date information. This optional new parameter should be using "days" as a time measure.

Something like:

sources:
  latestVersion:
    name: Get latest Venom release
    kind: githubrelease
    spec:
      cooldown: 7
      owner: ovh
      repository: venom
      versionfilter:
        kind: semver

Alternatives you've considered

Some ecosystem are more expensive than others, for example oci artifacts are O(N) complexity which make me wonder if we should support it

Anything else?

This issue more than probably an EPIC

Activity

  1. added this to the 1.0.0 milestone on Mar 25, 2026
  2. loispostula commented on Mar 31, 2026

    @loispostula
    Contributor
  3. loispostula commented on Mar 31, 2026

    @loispostula
    Contributor

    I see two approaches:

    A) Like Changelog: add it to the Resource interface, every plugin implements it (no-ops for those without timestamps). Consistent but touches all 30+ plugins.

    B) Optional interface: source runner checks if the plugin supports cooldown, calls it if yes, warns if not. Smaller diff, less consistent.

    Either way, cooldown would live at the source level (next to kind, name, transformers) rather than inside each plugin's spec, so it works uniformly without duplicating the field everywhere.

  4. olblak commented on Mar 31, 2026

    @olblak
    MemberAuthor

    Thanks for the feedback, I was thinking about having cooldown parameters within versionfilter something like an interface there should be implemented by each source plugin that contains date informations

  5. loispostula commented on Mar 31, 2026

    @loispostula
    Contributor

    That makes a lot of sense — something like a Cooldown field on Filter with a SearchWithTimestamps(versions, timestamps) method that filters by age before delegating to Search(). Plugins with date data pass a map[string]time.Time, others just pass nil and it falls back to regular Search. Keeps it contained in versionFilter, no interface changes needed.

  6. olblak commented on Apr 1, 2026

    @olblak
    MemberAuthor

    Exactly that's what I had in mind

  7. lemeurherveCB commented on Apr 24, 2026

    @lemeurherveCB
    Contributor

    Adding https://cooldowns.dev/ FYI and/or inspiration

  8. olblak commented on Sep 21, 2026

    @olblak
    MemberAuthor

    I am removing this issue from the 1.0.0 milestone as it can be implemented later on

  9. removed this from the 1.0.0 milestone on Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions