Continuous Integration and Continuous Delivery are central to reliable and efficient software development across many domains. Hades is a scalable build-execution system designed to support a variety of use cases - ranging from educational exercise platforms to general CI workloads - yet its current deployment outside target Kubernetes clusters prevents it from fully leveraging Kubernetes-native features. This deployment pattern limits scalability and observability, increases manual maintenance effort, and constrains fine-grained access control and load balancing.
This thesis presents a Kubernetes-native redesign and empirical evaluation of Hades. The main contributions are (1) a Kubernetes Operator that migrates the Hades executor into the cluster and manages build lifecycles natively, (2) a Helm chart for repeatable deployment and upgrades, (3) integration of in-cluster logging and aggregation to improve observability, and (4) a benchmarking suite that measures latency, throughput, and infrastructure efficiency under varied workloads. Together these components produce a deployable, cloud-native Hades stack and an empirical characterization of its behavior.
To achieve these goals, I design and implement the operator and Helm packaging in Go using Kubernetes controller patterns, extend the executor to use Kubernetes API primitives and in-cluster service accounts, and integrate centralized log collection. The benchmarking framework generates representative workloads, gathers queue and build metrics, and evaluates system performance across controlled scenarios (baseline, concurrency, and resource constraints). The results are analyzed to identify bottlenecks and to derive practical recommendations for operating Hades in production environments.