package-managers icon indicating copy to clipboard operation
package-managers copied to clipboard

Athens: A Go module datastore and proxy

Open andrew opened this issue 6 years ago • 2 comments

Athens is proxy caching service for go modules, like a lightweight artifactory just for Go.

It's written in Go and has support for various storage adapters: https://docs.gomods.io/configuration/storage/

Adding IPFS as a storage adapter could be a great way to bring immutability and reliability back to Go package management now that gx has been abandoned.

Announcement blog post: https://cloudblogs.microsoft.com/opensource/2018/08/28/announcing-project-athens-gophersource-go-community/ Github: https://github.com/gomods/athens Docs: https://docs.gomods.io

andrew avatar Apr 23 '19 15:04 andrew

There's an open pull request to add a http storage adapter, which is a good example of how to add an adapter but also could be used to point at an IPFS http gateway without needing to write any code!

andrew avatar Apr 23 '19 16:04 andrew

A little more context on https://github.com/gomods/athens/pull/1131 that @andrew mentioned - it's. under discussion because we're not sure if we should adopt the HTTP API that Artifactory's object storage implements or not. There's a lot of discussion going on there.

It might be a good idea to also look at the existing filesystem based storage implementation to get a feel for how these things are implemented.

We're always happy to help. Feel free to ask us questions in issues or the #athens channel in the Gophers slack group if you're in it.

I also personally think this would be a super cool storage driver :grinning:

arschles avatar Aug 28 '19 18:08 arschles