diff --git a/go/compose/input.go b/go/compose/input.go index 760fdc4..d0508a1 100644 --- a/go/compose/input.go +++ b/go/compose/input.go @@ -85,6 +85,12 @@ type Input struct { BusMemberships map[string]string // Authority is the mesh's own certificate (identity.EstablishAuthority), public. Optional. Authority string + + // CurrentBuilds is, by module, the commit of the build the mesh holds for it (inv.CurrentBuilds, the commit it was built from); + // BuildIDs the build made from a commit of a module (inv.BuildOf), by module then commit. Read only to name the builds a + // declaration carries to a node-engine that reads them. + CurrentBuilds map[string]string + BuildIDs map[string]map[string]string } // Issued is one pair credential made for a consumer of a provider (inv.Secret): ForProvider is its copy sealed to the @@ -158,6 +164,18 @@ type Node struct { // never reported one. Certificate is the certificate the mesh issued for its internal name, public and optional. ServingKey string Certificate string + // Sequence, Epoch and Generation are what the declaration is sent under (inv.Sequence, SentEpoch, SentGeneration): the order + // against every other send to the node, the lease epoch and the assignment generation it was last sent. Zero is not sent. + Sequence int64 + Epoch uint64 + Generation int64 + // ReadsModules says its node-engine reads a module per resource and a build per module (inv.ReadsModules, issue 1145); only + // then are they sent. SentBuilds is the build of each module it was last sent, by module to commit, and SentKnown whether + // that is known at all (inv.SentBuilds); Runs is what each of its assignments runs (inv.AssignmentRuns), by module. + ReadsModules bool + SentBuilds map[string]string + SentKnown bool + Runs map[string]Run // Contract is the contract of its node-engine's newest statement (inv.HealthOf); Stated is whether it ever stated one. Contract int Stated bool @@ -288,3 +306,9 @@ type Credential struct { // Why is the words of a CredentialNotGiven or CredentialRefused. Why string } + +// Run is the build an assignment names: the commit it is of and the build made from it (chain.Ref). +type Run struct { + Commit string + Build string +}