internal/config: replace DBHost and DBSecondaryHost with DBHosts The DSN now lists every host and pgx fails over between them, so a separate secondary host and the manual retry in OpenDB are redundant. History: - a6ac6c2d (2020) added DBSecondaryHost and a frontend fallback that reconnected to it when the primary failed. That commit noted it only handles a DB that is bad at startup, not one that goes bad later. - CL 717800 (2025) derived both hosts from GO_DISCOVERY_DATABASE_HOST by picking two at random, which made "primary" and "secondary" arbitrary. It also stopped reading GO_DISCOVERY_DATABASE_SECONDARY_HOST, which the deployment config still sets; removing that is a separate change. - CL 791947 put both hosts in one DSN, which also covers a host that fails after startup. Changes: - Replace Config.DBHost and Config.DBSecondaryHost with Config.DBHosts. - Remove DBSecondaryConnInfo and the fallback in OpenDB. database.Open pings, so a failure there now means no host is reachable. - chooseN no longer pads with empty strings. The padding existed only so the caller could assign two variables, and an empty entry would have put a trailing comma in the DSN. - Keep the DBHost override key, which now takes a whitespace-separated list that replaces DBHosts, like the env var. Drop the DBSecondaryHost override key: every override file written since 2020 set DBHost, and none set DBSecondaryHost. For golang/go#80045 Change-Id: Iacdc36d4f8d5add510046b911123e38b17d7dbf2 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/831304 Reviewed-by: Ethan Lee <ethanalee@google.com> LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> kokoro-CI: kokoro <noreply+kokoro@google.com>
This repository hosts the source code of the pkg.go.dev website, and pkgsite, a documentation server program.
Pkg.go.dev is a website for discovering and evaluating Go packages and modules.
You can check it out at https://pkg.go.dev.
pkgsite program extracts and generates documentation for Go projects.
Example usage:
$ go install golang.org/x/pkgsite/cmd/pkgsite@latest $ cd myproject $ pkgsite -open .
For more information, see the pkgsite documentation.
pkgsite provides a REST API for retrieving package and module information. The API endpoints include:
/v1/package/{path}: Information about the package at {path}./v1/module/{path}: Information about the module at {path}./v1/versions/{path}: Versions of the module at {path}./v1/packages/{path}: Information about packages of the module at {path}./v1/search: Search results./v1/symbols/{path}: List of symbols for the package at {path}./v1/imported-by/{path}: Paths of packages importing the package at {path}./v1/vulns/{path}: Vulnerabilities of the module at {path}.For detailed documentation of parameters and response schemas, see the documentation page served at /api, or refer directly to the annotated source code in internal/api/api.go.
If you want to report a bug or have a feature suggestion, please first check the known issues to see if your issue is already being discussed. If an issue does not already exist, feel free to file an issue.
For answers to frequently asked questions, see pkg.go.dev/about.
You can also chat with us on the #pkgsite Slack channel on the Gophers Slack.
We would love your help!
Our canonical Git repository is located at go.googlesource.com/pkgsite. There is a mirror of the repository at github.com/golang/pkgsite.
To contribute, please read our contributing guide.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.