Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is the problem I am trying to address?
Add the option to use Artifactory as a storage backend for athens.
The implementation it is very similar to the existing
external
provider with a few tweaks specific to the Artifactory REST API and specific configuration options added for usability.Note: This client uses artifactory as a generic object storage backend, it may or may not be compatible with the folder structure created by official Artifactory Go Registry plugin.
How is the fix applied?
Implements a new
storage.Backend
which uses the Artifactory REST API to read/write objects.The upload action is accomplished by writing a zip file (generated on the fly) and using the
X-Explode-Archive: true
andX-Explode-Archive-Atomic: true
so the objects are extracted atomically into a folder by artifactory.Lister functionality is accomplished by the FolderInfo API call.
What GitHub issue(s) does this PR fix or close?
Fixes #1130 (which was already closed/abandoned but is the closest match)