Implementing GitOps for application and infrastructure operations has numerous benefits around version control, collaboration, and rollbacks. Testkube was designed to be natively GitOps compatible by leveraging core Kubernetes constructs like CRDs and Events for test definition and execution. Testkube compliments both GitOps tools like ArgoCD and Flux, and traditional CI/CD solutions used in GitOps to define, trigger, scale, report, and troubleshoot test executions. Testkube provides fine-tuned quality controls that are not easily attainable in a “pure” GitOps setup.
Testkube Leverages Kubernetes CRDs
Testkube stores the definition of test executions for any testing tool as Kubernetes CRDs. These test executions can be defined through an easy to use GUI interface or common YAML tooling, for example, Kustomize, Helm, or VS-Code. By democratizing the test execution definition process, Testkube facilitates the shift left developer's workflows strived after by many GitOps organizations.
Testkube Provides Gitops Friendly Triggers
Testkube Test Executions can be triggered through various mechanisms, including manual, scheduled, CI/CD integrations, or by monitoring changes in the underlying Kubernetes resources. This allows Testkube to enable Test Execution whenever desired in a GitOps setup; during CI while building artifacts, in reaction to high-level GitOps reconciliation events in ArgoCD or Flux, or at the Kubernetes level in response to changes to reconciled resources.
Testkube Leverages Kubernetes Resource Allocation for Scaling
Once triggered, tests can be scaled without complex scripting to support both load and functional testing on a large scale. Kubernetes resource allocation, scaling and scheduling capabilities facilitate Testkube’s ability to scale automated tests.
Finally, however your Test Executions have been triggered, Testkube provides a centralized UI for test execution troubleshooting and reporting, agnostic to the underlying testing tool or CI/CD/GitOps pipelines involved.