ipfs-inactive / package-managers

[ARCHIVED] 📦 IPFS Package Managers Task Force
MIT License
99 stars 11 forks source link

Athens: A Go module datastore and proxy #46

Open andrew opened 5 years ago

andrew commented 5 years ago

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 commented 5 years ago

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!

arschles commented 4 years ago

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: