diff --git a/go/catalogue/declaration.go b/go/catalogue/declaration.go index 14878e8..5bb710b 100644 --- a/go/catalogue/declaration.go +++ b/go/catalogue/declaration.go @@ -238,6 +238,11 @@ type Rendering struct { // when no holder is reachable yet; see seat_into.go for which seats are answered. SeatReach map[string]string + // SeatHolder is the module holding each seat SeatReach answers, by seat, from the holdings the composition has (novox/hq + // design 51, issue 1966 ENG-10): written beside an image routed through the seat, for the node-engine to wait on when its + // pull fails. Absent for a seat with no holder on record. + SeatHolder map[string]string + // Built is every `/` the mesh has built. What tells a reference recorded // with an address — before references were kept without one — from an image a module runs // straight from a public registry. diff --git a/go/declaration/declaration.go b/go/declaration/declaration.go index 3d70e00..f7cb883 100644 --- a/go/declaration/declaration.go +++ b/go/declaration/declaration.go @@ -1368,8 +1368,14 @@ type Container struct { Module string `json:"module,omitempty"` Name string `json:"name"` // Image is pinned by digest (novox/hq ADR 0006) — a tag moves and a digest does not. - Image string `json:"image"` - Env map[string]string `json:"env,omitempty"` + Image string `json:"image"` + // ImageSeat and ImageHolder say, beside an image the composition routed through a store, the seat the reference came + // through and that seat's holder (novox/hq design 51, issue 1966 ENG-10): what the node-engine finds the holder to wait + // on when the pull fails. Not part of what a container is: they are no part of its spec or digest, so a declaration + // composed again for a new holder replaces no container. + ImageSeat string `json:"image-seat,omitempty"` + ImageHolder string `json:"image-holder,omitempty"` + Env map[string]string `json:"env,omitempty"` // EnvFile names files the runtime reads environment from, in order. // // **Because a secret may not travel in Env.** A declaration reaches a node over the broker,