Description
SKA uses the GitLab API to retrieve an archive of the repository when the blueprint is requested directly from GitLab upstream.
The documentation reports that such API is rate limited to 5 reqs/minute. See here
For this reason we should implement some sort of caching that:
- retrieve to gitlab the latest commit
sha for the ref used in the upstream uri
- check if there is a cache for the repository
- if yes, validate if the cache is updated to the latest commit
sha
- if yes, then use the cache hit
- if no commit
sha is matching or no repo is cached then it will perform the normal get repository archive file and store the new entity in the cache under the tuple repository,commit-sha
Description
SKA uses the GitLab API to retrieve an archive of the repository when the blueprint is requested directly from GitLab upstream.
The documentation reports that such API is rate limited to 5 reqs/minute. See here
For this reason we should implement some sort of caching that:
shafor therefused in the upstream urishashais matching or no repo is cached then it will perform the normal get repository archive file and store the new entity in the cache under the tuplerepository,commit-sha