athens

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2018 License: MIT

README

Welcome Gophers!

Welcome to the Athens project! We're building all things Go package repository in here.

  1. Package Registry
  2. Edge Proxy

If you want more of a tl;dr on the project, check out this quick introduction

Project Status

Build Status codecov GoDoc Go Report Card

Project Athens is in a very early alpha release and everything might change. Don't run it in production, but do play around with it and contribute when you can!

More Details Please!

Although the project is in development, here's where we're going:

The package registry and the edge proxy both implement the vgo download protocol, but each one is intended for different purposes.

The registry will be hosted globally, and will be "always on" for folks. Anyone will be able to configure their machine to do a go get (right now, it's a vgo get) and have it request packages from the registry.

On the other hand, the registry will only host public code. If you have private code, the edge proxy is your jam. The proxy will store your private code for you, in your database of choice. It will be designed to also cache packages from the registry, subject to an exclude list.

Development

See DEVELOPMENT.md for details on how to set up your development environment and start contributing code.

Speaking of contributing, read on!

Contributing

This project is early and there's plenty of interesting and challenging work to do.

If you find a bug or want to fix a bug, we ❤ PRs and issues! If you see an issue in the queue that you'd like to work on, please just post a comment saying that you want to work on it. Something like "I want to work on this" is fine.

If you decide to contribute (we hope you do 😄), the process is familiar and easy if you've used Github before. There are no long documents to read or complex setup. If you haven't used Github before, the awesome @bketelsen has created a good overview on how to contribute code - see here.

Before you do start contributing or otherwise getting involved, we want to let you know that we follow a general philosophy in how we work together, and we'd really appreciate you getting familiar with it before you start.

It's not too long and it's ok for you to "skim" it (or even just read the first two sections 😄), just as long as you understand the spirit of who we are and how we work.

Getting Involved

If you're not ready to contribute code yet, there are plenty of other great ways to get involved:

  • Come talk to us in the #athens channel in the Gophers slack. We’re a really friendly group, so come say hi and join us! Ping me (@arschles on slack) in the channel and I’ll give you the lowdown
  • Come to our weekly development meetings! They are a great way to meet folks, ask questions, find some stuff to work on, or just hang out if you want to. Just like with this project, absolutely everyone is welcome to join and participate in those
  • Get familiar with the system. There's lots to read about. Here are some places to start:

Built on the Shoulders of Giants

The Athens project would not be possible without the amazing projects it builds on. Please see SHOULDERS.md to see a list of them.

Code of Conduct

This project follows the Contributor Covenant (English version here) code of conduct.

If you have concerns, notice a code of conduct violation, or otherwise would like to talk about something related to this code of conduct, please reach out to me, Aaron Schlesinger on the Gophers Slack. My username is arschles. Note that in the future, we will be expanding the ways that you can contact us regarding the code of conduct.

Directories

Path Synopsis
cmd
pkg
cdn
download
Package download provides buffalo handlers that implement vgo's Download Protocol.
Package download provides buffalo handlers that implement vgo's Download Protocol.
errors
Package errors provides a central interface to handling all errors in the Athens domain.
Package errors provides a central interface to handling all errors in the Athens domain.
log
storage/gcp
Package gcp provides a storage driver to upload module files to a google cloud platform storage bucket.
Package gcp provides a storage driver to upload module files to a google cloud platform storage bucket.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL