Edit icon Edit This Page

Go

This documentation contains a user guide and samples regarding the use of private and public Go module repositories in Repsy Open Source. A Go repository implements the Go module proxy protocol: the go command installs from it when GOPROXY points at it. It is a push registry, so you upload modules to it yourself, with a single curl request. There is no go publish command.

The address of a Go repository is the address of your instance’s repository port followed by the name of the repository, https://<your-repsy-host>/<repo-name>. There is no username in the address. You use it as the GOPROXY, and you upload to https://<your-repsy-host>/<repo-name>/<module-path>/@v/<version>.zip.

Repsy does not fetch modules from other proxies, and it does not run a checksum database. A private Go repository needs HTTPS, because the go command refuses to send credentials over plain HTTP.

Getting Started

Tutorials

  • Publishing a Go Module with curl: build the module zip, upload it, the rules Repsy applies to an upload, versions that cannot be overwritten, and what each refusal looks like.
  • Using Go Modules from Repsy: GOPROXY, credentials, the checksum database, GOPRIVATE, mixing your modules with public ones, HTTPS for a local test, and troubleshooting.
  • Go in CI: install and publish from a pipeline with a deploy token.

Managing Modules

Was this page helpful?