Athens Go Module Proxy

AWS Developer Tools

Athens, a private, caching Go module proxy that serves your team fast, reproducible module downloads.

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

Athens is an open source implementation of the Go module proxy, the GOPROXY protocol built into the Go toolchain. Point your developers and CI pipelines at Athens and every go build fetches modules through it: Athens downloads each module version once, caches it on disk, and serves every later request from that cache. The result is faster builds, far less duplicated download traffic, and reproducible builds that keep working even when an upstream module is deleted, retagged, or its source host is unreachable. Athens speaks the Go module download protocol and is driven entirely by the standard go command, so there is no web console to manage.

Why the cloudimg image

The cloudimg image is hardened and fully patched with Athens preconfigured behind nginx TLS, the proxy bound to loopback and fronted by HTTP basic auth so it is never an open relay. It ships secure by default with no shared credentials: on first boot every instance generates its own basic authentication password and its own TLS certificate and writes the per instance credentials to a root only file, while the module cache lives on a dedicated data disk. Every instance is backed by a paired deploy guide and 24/7 cloudimg support.

Common uses

  • Cache Go modules once and serve them fast to your team
  • Guarantee reproducible builds that survive upstream deletions
  • Cut external download traffic and build times across CI

Key features

  • Athens, the open source Go module proxy, fully installed as a hardened systemd service. Point GOPROXY at it and every go build and go mod download fetches through Athens, which caches each module once on a dedicated data disk and serves reproducible, fast builds that keep working even when an upstream module is deleted or retagged.
  • Secure by default and never an open proxy: on first boot every instance generates its own HTTP basic authentication credentials and its own TLS certificate. Athens binds to loopback only and is reachable exclusively through nginx TLS with per instance basic authentication, so unauthenticated requests are rejected. No shared or baked in credential ships in the image.
  • 24/7 expert technical support from cloudimg with a one hour average response time for critical issues. Our engineers help with GOPROXY rollout across teams and CI, upstream and fallback proxy configuration, nginx TLS and custom domains, module cache sizing on the data disk, and Athens version upgrades.

See it running

Real screenshots taken while testing this image against its deployment guide.

Athens Go Module Proxy screenshot 1 Athens Go Module Proxy screenshot 2 Athens Go Module Proxy screenshot 3 Athens Go Module Proxy screenshot 4

Description

This is a repackaged open source software product wherein additional charges apply for cloudimg support services.

Athens is an open source, enterprise ready implementation of the Go module proxy, the GOPROXY protocol built into the Go toolchain. Point your developers and CI pipelines at an Athens server and every `go build`, `go test` and `go mod download` fetches modules through it. Athens downloads each module version once, stores it in its own on disk cache, and serves every later request from that cache. The result is faster builds, far less duplicated download traffic, and reproducible builds that keep working even when an upstream module is deleted, retagged, or its VCS host is unreachable. This image delivers Athens fully installed and configured, running as a hardened systemd service behind nginx, so a working module proxy is answering within minutes of launch and you skip hours of manual setup, TLS termination and access control hardening.

Application stack: Athens binds to the loopback interface only, and nginx is the single network facing surface. nginx terminates TLS on port 443 and fronts the entire proxy with HTTP basic authentication, so the proxy is never an open relay. The Go toolchain and git are installed on the image because Athens shells out to the go command to fetch modules on a cache miss, then persists them to disk. The module cache lives on a dedicated data disk, separate from the operating system disk, so your cache has room to grow and is easy to reason about. The whole appliance is driven by the standard go command rather than a web console, which makes it straightforward to adopt across your team and your CI and CD.

Secure by default with no shared credentials: Athens itself ships with no authentication, which means an unprotected Athens is an open module proxy. This image never exposes it that way. Nothing secret is baked into the image. On the first boot of every instance, Athens generates a unique HTTP basic authentication username and password and a unique self signed TLS certificate, and writes the credentials to a root only file on the instance. Unauthenticated requests are rejected, and the module protocol is reachable only over TLS with the per instance credentials.

Key capabilities: cache Go modules once and serve them fast to your whole team; guarantee reproducible builds that survive upstream deletions and retags; reduce external download traffic and build times across CI; keep a private module cache on a dedicated data disk; and serve it all over TLS from a single hardened instance, driven entirely by the standard go command.

Get started: read the generated credentials, then set GOPROXY on your workstations and build agents to the authenticated HTTPS URL of this instance. Run go build or go mod download and watch modules flow through the proxy and populate the cache. cloudimg engineers can help you design proxy topology, upstream and fallback configuration, TLS with your own domain and certificate, and rollout across your development teams after purchase.

This is a repackaged open source software product with additional charges for cloudimg support services. Athens is a trademark of its respective owner. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

Related technologies

athensgo module proxygoproxygo modulesmodule cachegolangdeveloper toolsci cdself hostedopen source