---
# System prepended metadata

title: Recreate/Update Hydra

---

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





