Experiment Maturity Guidelines
This document lists the criteria as per which the maturity levels of chaos experiments can be derived.
Alpha
Beta
General Availabilty
Injects the intended chaos on any one standard Kubernetes platform (GKE, EKS, DOKS, vSphere)
Has a clearly defined entry (initial status) & exit (resiliency) criteria
Conforms to the standard litmus experiment structure (business logic, auxiliary tasks/utils, chaoslib)
Provides a Kubernetes job manifest to execute the chaos experiment
Accompanied by usage doc (readme) with pre-requisites, experiment tunables and procedure
Successfully reverses the chaos, leaves cluster in a healthy state
Clearly classified as an application-level or (cluster) infrastructure level chaos
Leaves no chaos residue (cleans up resources created as part of execution) regardless of success
Has sufficient debug messages (logs) indicating experiment flow
Reuse of base chaoslib, existing (common) utils where possible
Supports at least two of the standard Kubernetes platforms
Accompanied by a how-to demo video to aid users
Successfully executed by the LitmusChaos Operator (executor) via ChaosExperiment CR
Templatizes any manifest/resource specification used in the experiment execution
Supports all 4 standard Kubernetes platforms
The ChaosResult CR contains sufficient info on the state (action & result of significant steps) of the chaos experiment