-
Notifications
You must be signed in to change notification settings - Fork 532
Description
Is your feature request related to a problem? Please describe.
At Qualtrics we use Artifactory as an artifact repository, which is not currently supported by Athens. We want to deploy Athens internally. but strong corporate incentives exist to use our internal repository for storage instead of Athens' S3 support.
Describe the solution you'd like
I'd like Athens to support a storage backend which I can use to integrate with our Artifactory instance. Notably, this doesn't necessarily mean a bespoke artifactory storage backend—Artifactory also supports using raw HTTP requests with Basic Authentication.
From my perspective, the better solution would be to implement an http storage backend that exploits Artifactory's direct HTTP API. This has the added upside of looking remarkably similar to the Go module proxy HTTP API itself, though some extensions would be necessary to support the write operations.
Describe alternatives you've considered
Another option is to use Artifactory's REST API and implement a storage backend more tailored to Artifactory's unique API endpoints.
To me this is an inferior option. While it may provide tighter integration with Artifactory, it means that changes to the Artifactory API over time must be mirrored by updated support in Athens.
Additional context
I got curious and wrote up an http storage backend to demonstrate what this would look like. I'll submit that as a PR shortly, for a starting point for discussions on what we might be able to achieve here.
Update: Submitted #1131.