ADR 0582 "How it is checked": against an embedded bus, a stand-in controller holds the lease in a bucket with an expiry (2 s standing in for 15 s, through grants.LeaseExpiry, so the wait past it is seconds), with stand-in node-service-manager and bus-tool seats (the expiry tool acting on the real bucket's stream, as nats-tools' SetBucketExpiry does). On the warrant the key holder names mesh-grants, the expiry is gone, the controller's create of the key is refused, and the lease still reads handed away past the old expiry; on the hand-back's warrant the expiry is back and the controller takes the lease again. mesh-grants requires nats-server for it, at mesh-sdk's version. Budget: TestTheLeaseWriteOnTheBus (new, integration) is paid by merging the checker's TestTheCheckerAwaitsTheAssignersComposition into TestTheCheckersLineSaysTheAssignersComposition as its first case. (issue 774, 774/S23) Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
24 lines
726 B
AMPL
24 lines
726 B
AMPL
module mesh-grants
|
|
|
|
go 1.26.0
|
|
|
|
require (
|
|
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261101151945-b2a27ed5cec4
|
|
github.com/nats-io/nats-server/v2 v2.11.17
|
|
github.com/nats-io/nats.go v1.54.0
|
|
)
|
|
|
|
require (
|
|
github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op // indirect
|
|
github.com/google/go-tpm v0.9.8 // indirect
|
|
github.com/klauspost/compress v1.20.0 // indirect
|
|
github.com/minio/highwayhash v1.0.4 // indirect
|
|
github.com/nats-io/jwt/v2 v2.8.1 // indirect
|
|
github.com/nats-io/nkeys v0.4.16 // indirect
|
|
github.com/nats-io/nuid v1.0.1 // indirect
|
|
go.uber.org/automaxprocs v1.6.0 // indirect
|
|
golang.org/x/crypto v0.57.0 // indirect
|
|
golang.org/x/sys v0.48.0 // indirect
|
|
golang.org/x/time v0.15.0 // indirect
|
|
)
|