Documentation
¶
Overview ¶
Package upgrade resolves release artifacts for a rolling cluster upgrade (T-95).
The control plane, not the node, decides what a node should install: it resolves the target version to a per-architecture asset URL and its SHA-256, and hands both to the agent. The node then verifies the digest before it executes anything. That ordering matters — a node that fetched its own checksum from the same host it fetched the binary from would be trusting one source to vouch for itself.
Index ¶
Constants ¶
const DefaultBaseURL = "https://github.com/zattera-dev/zattera/releases"
DefaultBaseURL is the official release host. Overridable for mirrors and air-gapped clusters; the agent independently refuses any URL outside its own configured base, so changing this alone cannot redirect a node.
This is NOT get.zattera.dev — that serves the install script only. Binaries live on GitHub Releases, and this must stay in step with GITHUB_REPO in install/install.sh: the two are the only ways a binary reaches a node, and they must install the same artifact.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HTTPResolver ¶
type HTTPResolver struct {
BaseURL string
Client *http.Client
// contains filtered or unexported fields
}
HTTPResolver reads the release's checksum manifest over HTTP.
func NewHTTPResolver ¶
func NewHTTPResolver(baseURL string) *HTTPResolver
NewHTTPResolver builds a resolver against a release host.