package delivery import "time" // BuildRecord is the layout mesh-controller internal/chain/records.go Build writes (line 91), the fields a reader outside // the controller reads (novox/hq ADR 0437 §4 §5, issue 1223). The controller's record carries more; a decode ignores // what is not here. Path is the module's directory in its repository, as the controller writes it (Build.Path, records.go:100, // set from the build request trimmed of slashes at internal/inventory/chain_requests.go:19); empty for a module whose // manifest is the repository's root. SourceInputs has no json keys of its own: it is written under its Go field names, as the controller // writes it. type BuildRecord struct { ID string `json:"id"` State string `json:"state,omitempty"` Repository string `json:"repository"` Ref string `json:"ref,omitempty"` Module string `json:"module,omitempty"` Path string `json:"path,omitempty"` Commit string `json:"commit,omitempty"` At time.Time `json:"at,omitzero"` SourceFingerprint string `json:"source-fingerprint,omitempty"` SourceInputs *SourceInputs `json:"source-inputs,omitempty"` } // BuildsBucket is the bucket the builds are kept in: mesh-controller internal/broker/controller_buckets.go:101, // BucketName(ControllerSeat, ChainBuilds), with ControllerSeat "mesh-controller" (internal/broker/streams.go:359) and // ChainBuilds "builds" (controller_buckets.go:113). const BuildsBucket = "mesh-controller_builds" // BuildKey is a build's record under its module, a build that knew none under the request's key: copied from // mesh-controller internal/chain/keys.go:35-40 (BuildKey, with RequestKey at line 42). func BuildKey(module, id string) string { if module == "" { return "req." + id } return module + ".build." + id } // NewestKey is the key of a module's newest build, of any state: copied from mesh-controller internal/chain/keys.go:44. // The key holds no record: its value is the newest build's id as raw bytes (internal/inventory/chain_builds.go:210 and // :546), and the record lives at BuildKey(module, id). The pointer is a hint, checked against that record. func NewestKey(module string) string { return module + ".newest" }