Documentation
¶
Overview ¶
Command nova-redis is the Layer 2 binary of docs/SPEC-REDIS.md, the owner of the local instance: `serve` launches it bound to loopback and the tailnet, with auth from nova-secrets and the fleet store's rules: AOF on, no eviction, no TTL policy, the store in --dir (serve.go). It also carries the scratch verbs: `spill` writes a value under an owner prefix with a required TTL, and `recall` reads it back and refuses a missing or expired key. A write with no owner or no TTL is refused before the instance is dialled, so an unbounded key never reaches Redis (the spill and recall section of the spec). The fn verbs load and check the store's function library (fn.go, over pkg/redisfn).
Scratch is scratch: nothing spilled is a record, and recall is allowed to miss. The password comes from the environment (NOVA_REDIS_PASSWORD, or the variable --password-env names, which a bench fills from nova-secrets at run time), never from an argument.
Every verb that dials a store (spill, recall, fn load, fn check) opens it through pkg/redisconn, the one way a nova tool opens its Redis connection (connect): one dial, the handshake and the login bounded by redisconn.OpenTimeout, no retry, and go-redis's own log kept off stderr. A store that cannot be reached or a login it refuses exits 2.
The dispatch, the banner, the help, the version verb, the refusals and the output envelope are pkg/tool's. spill and recall return a tool.Out; serve, fn and acl print their own lines (a stream, or a line the skeleton cannot render) behind a Prints verb.