Back to top

Golang Module Proxy Features

Simple Configuration

Set a single environment variable

Replace the default proxy

To get started set the GOPROXY environment variable to https://proxy.golang-module-proxy.com/${key} and clear the caches to make sure you start from a clean slate. Obtain the API key from your module proxy administrator. Eliminates the need to also set GOPRIVATE, GONOPROXY, and GONOSUMDB

Replace the default proxy

Filter modules by License

The module proxy administrator may configure module filtering by license type using the canonical license identifiers standardized by the Linux Foundation’s SPDX project. Admins can add custom licenses, set exceptions for specific modules, decide how to handle unlicensed modules, and more.

Private Modules

Configure private modules

Manage and serve private modules. Without the Golang Labs module proxy, developers are expected to properly configure several environment variables: GOPROXY, GOPRIVATE, GONOPROXY, and GONOSUMDB (see the Go Manual). Misconfigurations are likely to abound, especially as new developers onboard, and module dependencies evolve over time. Instead, your private modules may be quickly identified to your proxy. Private modules will be served directly, and requests for the modules will never leak out to upstream sources.

Configure private modules

Persistent Module Versions

Persistent Module Versions
Module versions are preserved in the proxy’s database until explicitly removed. This increases the reliability and reproducibility of your builds. The default Google proxy does not make this guarantee, simply stating “proxy.golang.org does not save all modules forever. There are a number of reasons for this, but one reason is if proxy.golang.org is not able to detect a suitable license”. See the FAQ item Why did a previously available module become unavailable in the mirror? at https://proxy.golang.org.
Persistent Module Versions

SLA & Support

SLA & Support
Support and SLA terms vary by tier as summarized here. Custom support packages are available. Please contact us to discuss.
Tier SLA Support Type Response Time
Basic None Email Best Effort
Starter None Email 2 business days
Enterprise 99.9% Email, Phone, Video, Text Chat 1 business day
SLA & Support

Role Based Access Control (RBAC)

Role Based Access Control (RBAC)
Role Capabilities
Administrator Full access to the module proxy configuration and audit logs, including RBAC and API key management
Module Admin May use, add and remove modules that match the policies installed by administrators
Developer May use, and add modules that match the policies installed by administrators
Restricted Developer May only use modules already known to the proxy and approved by administrators
Role Based Access Control (RBAC)

Audit Logging

Audit Logging
All requests to the module proxy are persistently logged, including the source IP address and the API key used for the request. Additionally, Golang Labs employee access to your service is logged and available in your audit logs. Logs are retained for a rolling 1 week interval, and module administrators may retrieve the logs, but not delete them.
Audit Logging

Metrics and Reports

Metrics and Reports
Admins have access to raw metrics and detailed analytics and reports about module use. For example, you can identify which modules and module versions are no longer in use, or which license types are in use.
Metrics and Reports