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