Compose each machine in the merge gate with its engine's contract, so moved modules are handed there as on the mesh (issue 969)

This commit is contained in:
fix-969
2026-10-16 23:12:16 +02:00
parent 1cdf12df00
commit 2f2a8bb57e
5 changed files with 61 additions and 1 deletions
+6
View File
@@ -287,6 +287,12 @@ func gatherFacts(ctx context.Context, open *stores, busVersion string) (snapshot
return snapshot.Facts{}, err
}
m.Architecture, m.Kernel = reported.Architecture, reported.Kernel
// Whether its node-engine takes handed files is its contract (issue 969).
if stated, had, err := inv.HealthOf(ctx, n.Name); err != nil {
return snapshot.Facts{}, err
} else if had {
m.Contract = stated.Contract
}
outward, err := inv.OutwardLinksOf(ctx, n.Name)
if err != nil {
return snapshot.Facts{}, err