diff --git a/node-tools/internal/bus/bus.go b/node-tools/internal/bus/bus.go index 5480691..ec1648b 100644 --- a/node-tools/internal/bus/bus.go +++ b/node-tools/internal/bus/bus.go @@ -18,7 +18,6 @@ import ( "encoding/json" "errors" "fmt" - "git.novox.be/novox/mesh-sdk/go/buscompose" "git.novox.be/novox/mesh-sdk/go/membership" "log" "regexp" @@ -355,7 +354,7 @@ func (c *Conn) Credential() Credential { return c.cred } // Follow reads a module's membership on this machine once and follows it live, so its tools are // served where the mesh issued them (ADR 0175). It is read from the grants part's state memberships, its key -// `.` (novox/hq ADR 0571 clause 7 and 10, mesh-sdk buscompose.GrantsMembershipsBucket), and nowhere else: +// `.` (novox/hq ADR 0571 clause 7 and 10, mesh-sdk membership.GrantsBucket), and nowhere else: // the old assignments stream is not read and its subject is not heard. func (c *Conn) Follow(module string) { c.mu.Lock() @@ -434,10 +433,10 @@ func (c *Conn) watchGrants(module string, say bool) bool { c.Logf(format, a...) } } - key := buscompose.MembershipKey(c.node, module) + key := membership.GrantsKey(c.node, module) // First the key's direct get, which the account is granted alone: a bus that refuses it, or a state not there yet, // answers at once, where binding the bucket would wait out its bound on a refusal. - bucket := buscompose.GrantsMembershipsBucket + bucket := membership.GrantsBucket probe, err := c.nc.Request("$JS.API.DIRECT.GET.KV_"+bucket+".$KV."+bucket+"."+key, nil, GrantsPatience) if err != nil || probe.Header.Get("Status") == "503" { why := "it did not answer" @@ -457,7 +456,7 @@ func (c *Conn) watchGrants(module string, say bool) bool { kv, err := js.KeyValue(ctx, bucket) if err != nil { logf("[mesh-tools] the grants part's memberships (%s) cannot be read (%v); %s has no membership "+ - "until it can be", buscompose.GrantsMembershipsBucket, err, module) + "until it can be", membership.GrantsBucket, err, module) return false } w, err := kv.Watch(context.Background(), key) diff --git a/node-tools/internal/meshtest/meshtest.go b/node-tools/internal/meshtest/meshtest.go index 704f5d1..5966866 100644 --- a/node-tools/internal/meshtest/meshtest.go +++ b/node-tools/internal/meshtest/meshtest.go @@ -17,7 +17,6 @@ import ( seatplacement "git.novox.be/novox/mesh-contracts/placement/go/seats/meshmoduleassigner" meshcatalogclient "git.novox.be/novox/mesh-delivery/contracts/go/clients/meshcatalogclient" meshcatalog "git.novox.be/novox/mesh-delivery/contracts/go/seats/meshcatalog" - "git.novox.be/novox/mesh-sdk/go/buscompose" "git.novox.be/novox/mesh-sdk/go/membership" "os" "path/filepath" @@ -91,8 +90,8 @@ func New(t *testing.T) *Mesh { js, _ := nc.JetStream() _ = js.DeleteStream("EVENTS") // The grants part's state memberships, where a runtime reads what is issued it (ADR 0571 clause 10). - _ = js.DeleteKeyValue(buscompose.GrantsMembershipsBucket) - if _, err := js.CreateKeyValue(&nats.KeyValueConfig{Bucket: buscompose.GrantsMembershipsBucket, History: 1}); err != nil { + _ = js.DeleteKeyValue(membership.GrantsBucket) + if _, err := js.CreateKeyValue(&nats.KeyValueConfig{Bucket: membership.GrantsBucket, History: 1}); err != nil { t.Fatal(err) } if _, err := js.AddStream(&nats.StreamConfig{Name: "EVENTS", Subjects: []string{"mesh.mod.*.event.>"}}); err != nil { @@ -103,7 +102,7 @@ func New(t *testing.T) *Mesh { } // Issue writes a membership where the grants part keeps it, its state memberships, key `.` (novox/hq ADR -// 0571 clause 7 and 10; mesh-sdk buscompose.GrantsMembershipsBucket), the one place a runtime reads it. It writes with +// 0571 clause 7 and 10; mesh-sdk membership.GrantsBucket), the one place a runtime reads it. It writes with // mesh-sdk's encoder, the grants part's own, never json of this package's type: a value built here by hand agreed with // the reader's mistake and hid that the part wrote another shape (issue 774). func (m *Mesh) Issue(t *testing.T, mem bus.Membership) { @@ -123,13 +122,13 @@ func (m *Mesh) IssueInGrantsWrapped(t *testing.T, mem bus.Membership, published func (m *Mesh) putGrants(t *testing.T, mem bus.Membership, body []byte) { t.Helper() - kv, err := m.js.KeyValue(buscompose.GrantsMembershipsBucket) + kv, err := m.js.KeyValue(membership.GrantsBucket) if err != nil { - if kv, err = m.js.CreateKeyValue(&nats.KeyValueConfig{Bucket: buscompose.GrantsMembershipsBucket, History: 1}); err != nil { + if kv, err = m.js.CreateKeyValue(&nats.KeyValueConfig{Bucket: membership.GrantsBucket, History: 1}); err != nil { t.Fatal(err) } } - if _, err := kv.Put(buscompose.MembershipKey(mem.Node, mem.Module), body); err != nil { + if _, err := kv.Put(membership.GrantsKey(mem.Node, mem.Module), body); err != nil { t.Fatal(err) } } @@ -137,7 +136,7 @@ func (m *Mesh) putGrants(t *testing.T, mem bus.Membership, body []byte) { // DropGrants deletes the grants part's state memberships, as a bus that has not made it yet holds none; Issue makes it again. func (m *Mesh) DropGrants(t *testing.T) { t.Helper() - if err := m.js.DeleteKeyValue(buscompose.GrantsMembershipsBucket); err != nil { + if err := m.js.DeleteKeyValue(membership.GrantsBucket); err != nil { t.Fatal(err) } } diff --git a/node-tools/internal/runtime/ledger_credentials_test.go b/node-tools/internal/runtime/ledger_credentials_test.go index c96afd5..0377d5c 100644 --- a/node-tools/internal/runtime/ledger_credentials_test.go +++ b/node-tools/internal/runtime/ledger_credentials_test.go @@ -63,7 +63,7 @@ func TestALedgerIsWrittenOnlyOnItsModulesLedgerConnection(t *testing.T) { t.Fatal(err) } } - for _, b := range []string{"m_records", buscompose.GrantsMembershipsBucket} { + for _, b := range []string{"m_records", membership.GrantsBucket} { if _, err := js.CreateKeyValue(ctx, jetstream.KeyValueConfig{Bucket: b}); err != nil { t.Fatal(err) } @@ -76,8 +76,8 @@ func TestALedgerIsWrittenOnlyOnItsModulesLedgerConnection(t *testing.T) { raw, _ := json.Marshal(mem) var sdk membership.Membership _ = json.Unmarshal(raw, &sdk) - grants, _ := js.KeyValue(ctx, buscompose.GrantsMembershipsBucket) - if _, err := grants.Put(ctx, buscompose.MembershipKey("anchor", "m"), membership.EncodeGrantsMembership(sdk)); err != nil { + grants, _ := js.KeyValue(ctx, membership.GrantsBucket) + if _, err := grants.Put(ctx, membership.GrantsKey("anchor", "m"), membership.EncodeGrantsMembership(sdk)); err != nil { t.Fatal(err) }