New Bonsai Index Update

Hey everyone,
We rolled out a new version of the Bonsai asset index codebase in the last week and I thought it was a significant enough change to warrant a rundown as to what’s changed.

New Asset URLS
Instead of linking directly to the github release download urls for the binary assets, Bonsai is now offering asset urls prefixed with assets.bonsai.sensu.io/<uuid> . The <uuid> in the url path corresponds to the git commit uuid associated with the github tagged release.

New Cached Binaries
Instead of simply redirecting to the github releases, these new urls redirect to cached binaries. When Bonsai is notified as a new github release, Bonsai downloads the binaries from github into the cache.

Notable Benefits

  • Better scalability: Some users were running into github specific download rate limiting into containerized agents at scale. We anticipate that the cache will help a bit here.

  • Better reliability: Because github releases are tied to git tags,which can be easily deleted and re-created, there can be situations where asset binaries change or are deleted from github by developer action. Github releases aren’t immutable. By caching the binaries as part of Bonsai operation, users who make use of the new cache urls are less likely to be disrupted if a github release is deleted.
    And because the commit uuid is part of the asset url, users can use the uuid as an aid to find the specific git commit that matches the binary if they need the corresponding source at some later date, even if the github release is deleted or modified in the meantime.

What Asset Users Need to Do
No action is needed on your part. All new asset config downloads from Bonsai will make use of the new cached binary urls. If you current have asset definitions that use the github urls, those will continue to work. If you want to update your assets, and make use of the cached binary urls, you can re-download the asset config definition from bonsai and update your existing asset resources at your convenience.

1 Like

Nice post, Jef! This is just the beginning. Looking forward to the day when we can sensuctl asset add sensu/sensu-pagerduty-handler:latest, ala Docker.

More Bonsai goodness coming soon! :raised_hands: