If app crashes, won’t sync w/ board status in database.
Authentication. Likely should attach an expiration policy to access tokens generated by an ssh key. This way an ssh key can be passwordless for automation, and the cli could do: bitelab auth; bitelab reserve board; ; bitelab release board; bitelab revoke
where auth fetches an access token via ssh, and revoke, revokes the token as it is no longer needed. This either allows a “one time” access token where the user can provide a passphrase to get the token at auth time, or limited valid time access tokens such that if they were leaked, they would quickly expire.
RFC definition: https://tools.ietf.org/html/rfc2817#section-5.2
FastAPI StreamingResponse: https://fastapi.tiangolo.com/advanced/custom-response/#streamingresponse
Streaming Requests: https://github.com/tiangolo/fastapi/issues/58
Brief tests showed that this may not work reliably. I think WebSockets is the best answer for this.