Recreate/Update Hydra
===
### Master/Dispatcher
* ui and server that acts as master
* webhooks (git events) instead of git polling gitea and gtihub.
* jobs from nixfile (no more hydra-eval-jobs)
* evaluator (read nix expressions produces)
* we can just use existing c++ hydra-evaluator
* it is idiomatic to always run on release.nix
* This produces json that is fed to kafka
* agents receive jobs from kafka, build
* agents produce build logs and feed build logs back to evaluator, and UI reflects changes.
* queue runner
* database?
* nixos
* autoscale based on demand
* authentication is external
* authorization uses authentication follows access of git repo for access of build
* handling secrets:
* signed builds (we will not support storing secrets in repo)
* nix does not deal with secrets, hydra does local implementation, and setting local vars per instance that are not managed by nix store.
### Agent
* Rust