You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
The text was updated successfully, but these errors were encountered: