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, #2281, #3879). 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 (rules 2 and the spill/recall paragraph of the spec; nova-tools #2279). The fn verbs load and check the store's function library (fn.go, over internal/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 internal/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.