anchore / binny

Manage a directory of binaries without a package manager
Apache License 2.0
21 stars 1 forks source link

Add multiple strategies for querying GitHub release and assets info #11

Closed wagoodman closed 11 months ago

wagoodman commented 11 months ago

The github v4 api is a little heavy for the github installer strategy in binny. Specifically a github token is required for use at all, and though the v3 api does not require this, it fetches a lot more information (is slower) and has pretty strict rate limiting. For this reason I've decided to add multiple strategies for fetching release information.

For installing, 3 strategies are attempted in the following order:

For updating the version locks, 2 strategies are attempted in the following order:

For an update strategy to be deemed working, the result must not be empty and must also satisfy any user-given version constraint, otherwise the next strategy is attempted.

These updates will make binny not only faster but also not require a github token by default 🎉