By default, Athens fetches module code from an upstream VCS like github.com, but this can be configured to use a Go modules repository like GoCenter or another Athens Server.
Create a filter file (e.g
/usr/local/lib/FilterForGoCenter) with letter
D (stands for “direct access”) in first line. For more details, please refer to documentation on - Filtering Modules
# FilterFile for fetching modules directly from upstream D
If you are not using a config file, create a new config file (based on the sample config.dev.toml) and edit values to match your environment). Additionally in the current or new config file, set the following parameters as suggested:
FilterFile = "/usr/local/lib/FilterForGoCenter" GlobalEndpoint = "https://<url_to_upstream>" # To use GoCenter for example, replace <url_to_upstream> with gocenter.io # You can also use https://proxy.golang.org to use the Go Module mirror
Restart Athens specifying the updated current or new config file.
<path_to_athens>/proxy -config_file <path-to updated current or new configfile>
Verify the new configuration using the steps mentioned in “Try out Athens” document, and go through the same walkthrough example.