-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Libraries registry provider for asab.library
#507
Conversation
due to aiohttp
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See my comment below.
asab/library/providers/libsreg.py
Outdated
f.write(etag_incoming) | ||
|
||
# TODO: Remove temp_extract_dir | ||
# TODO: Remove newtarfname |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added TODOs into - slightly refactored - code during the review process.
@mithunbharadwaj - please implement these TODOs.
This MR adds another library provider for
asab.library
: Libraries registry provider.This provider enables a smooth content distribution (technically over HTTPS) and provides an alternative for Git provider.
The content is prepared (ie by CI/CD) as an
.tar.xz
archive on the HTTPS static web site (such as Azure storage) and this provider periodically downloads it and unpack locally - similarly to git.It also provides caching, so if the content has not been changed, nothing is downloaded.
It implements the fallback mechanism: multiple servers can be specified in the URI so that the content can be distributed from multiple location, providing higher resiliency.
The URL & configuration form:
If
version
is not provided, thenmaster
is used.