go get resolves the module directly via proxy.golang.org, which caches it from the public GitLab repository.
Install
nexus alias is conventional - every example in this documentation uses it. Without an alias the package name would also be nexus (it’s the package name declared in client.go), but the explicit alias makes the import path obvious to readers.
The three modules
The SDK is three Go modules in one repository. Install only what you use:
The split exists because Go has no optional dependencies: anything the core module
imports lands in every consumer’s build. Keeping the AWS signer out of it means a
service running on Kubernetes or Google Cloud carries no AWS code at all.
Requirements
- Go 1.25 or newer. 1.25 is the baseline because Go supports the two newest majors
and the
godirective is a hard floor for everyone who imports the module; nothing in the SDK needs a 1.26 feature. Every pipeline run tests both 1.25 and 1.26. - Network access to
proxy.golang.orgfor installation, and to<your-slug>.westyx.devat runtime
How go get resolves this module
- You declare
gitlab.com/westyx/nexus/sdk/goin yourgo.mod(either directly or viago get). - The Go toolchain queries
proxy.golang.orgfor the module’s metadata. - On a cache miss, the proxy fetches the module from the public GitLab repository at the same path and caches it.
- Subsequent users hit the proxy cache - no GitLab traffic.
Behind a firewall / GOPRIVATE
If proxy.golang.org is unreachable from your build environment, set GOPROXY=direct (or GOPROXY=https://your-internal-proxy) and ensure your build agents can reach gitlab.com directly. No authentication is required - the repository is publicly readable.
If your organisation policy treats gitlab.com as private:
proxy.golang.org and sum.golang.org for that path prefix, fetching directly via git over HTTPS.
Verifying installation
go get -u gitlab.com/westyx/nexus/sdk/go to upgrade.
Verifying connectivity
Before writing any Go code, you can confirm your endpoint and API key are correct with a plaincurl:
configs, secrets, and flags. An HTTP 401 means the key is wrong; HTTP 404 means the slug is wrong.
To watch the live SSE stream:
event:resync arrive within a second. Press Ctrl+C to stop.
Troubleshooting
module not found- check the import path is exactlygitlab.com/westyx/nexus/sdk/go.proxy.golang.org returned 410 Gone- typical when a tag is force-deleted. Pin to a known-good version or wait ~30 minutes for the proxy to refresh its cache.unknown revision v0.X.Y- the tag exists locally butproxy.golang.orghasn’t seen it yet. Wait a minute, then retry; orGOPROXY=direct go get ...to bypass the proxy.
