The chaos Runner is an operational bridge between the Chaos-Operator and the LitmusChaos experiment jobs.
Objective behind chaos-runner creation:
Support a contextual/audit logging framework in litmus where the sequence of events from creation of the engine to its eventual removal (with the experiment execution summary in b/w) is traceable
Support termination/abort of experiments in progress, Removal of all chaos residue with single operation etc., One of the ways to achieve this, is to ensure that the OwnerReference of the ChaosEngine is passed to the experiment jobs (which can be arguably termed the child resources along with the runner itself) to allow the garbage collection to take care of the deletePropagation.
Create and/or mount volume (configmaps, secrets) resources with validation for availability of these resources.
Support dependency management of experiments in case of batch runs with possible parallel / asynchronous execution & thereby patching of the ChaosEngine.
Allow multiple combinations of random execution in case of future support for Chaos Scheduling, where it may be necessary for the job execution to be randomized based on different conditions (iteration count, minimum intervals etc.,)
Refer the LitmusChaos documentation and Experiment Documentation
You can contribute by raising issues, improving the documentation, contributing to the core framework and tooling, etc.
Head over to the Contribution guide