Hey Everyone!
@carolynvs mentioned the Athens project in her thread. Some folks have reached out to me about the project & how to get involved, so I thought I’d write something up for everyone!
We’re building a repository for Go modules that has two components:
A Little Bit About Olympus
We plan on making Olympus the central repository for Go modules. It implements the download protocol from the vgo proposal, so when someone does a go get
call, they’ll have the option of pulling from Olympus. Modules are stored in a CDN and pulled from VCS’s. And here are the two things that make me happiest:
- Modules are immutable in Olympus. That avoids what happened with go-bindata recently (the repo got deleted from Github and everyone who depended on it was out in the cold )
- The “central repository” will be a default hostname that round-robins to a bunch of different providers. They all replicate modules with each other. No one company or entity will own or control this thing
A few more things:
- Anyone can of course host their own Olympus server if they want. The vgo proposal has a
GOPROXY
environment variable, so you can set that to pointgo get
to your Olympus server - Olympus has a simple protocol for replicating modules
Get Involved!
The Athens project is young and we have a proof of concept running now. There’s still a ton of stuff to do in all corners of this project. Absolutely everyone is welcome to get involved. Here are some ways to get started:
- Ping me (
@arschles
) on the Gophers slack - Come to our weekly development meetings
- Check out our good first issues
- Come ask questions, share ideas, etc… on the
#athens
channel (join at https://invite.slack.golangbridge.org/) - Respond to this thread