Skip to content
ankush chadha edited this page Jul 23, 2019 · 2 revisions

Welcome to GoCenter Wiki

Why

Go modules are one of the most important developments in Go. They provide a much-needed modern and robust management mechanism for Go dependencies, and the backward compatibility with legacy dependency managers like go dep is implemented with admirable elegance.

Go modules allow Go developers to step away from vendoring and favor an industry-proven solution of immutable, versioned modules.

While a local cache exists on your workstation, and organizational caches (repositories) are available in the market (see JFrog Artifactory), and the Athens project offers proxy services, GoCenter is the central repository (first of many envisioned by the Go team) that provides fast, repeatable resolution of Go modules.

What

GoCenter is a cloud service that houses Go modules (archives of Go sources for a package and its metadata) and generates Go module metadata, if needed. Please note that GoCenter does not claim ownership on the source code or the IP of any Go packages. It merely caches and serves the package to be consumed by the Go client, in a repeatable and fast way.

If a module already exists in GoCenter, GoCenter will serve it.

If a module does not exist, instead of relying on the Go client to clone the sources and keep the module in the local cache (forcing this procedure on everybody else), GoCenter packs the module and makes it available for everyone (even if the author later decides to remove the sources).

GoCenter performs this generation process and caching for the entire dependency tree of the package in question (no "shallow modules").

For more information, review the Frequently Asked Questions page.

How

How to contact us

Feel free to contact us via:

  • Twitter: ping us @jfrog.
  • Slack: find us in #gocenter channel in the Gopher Slack.
  • Email: shoot us an email to gocenter@jfrog.com
  • GitHub PRs and issues on this project: for issues, suggestions and pull requests.