Responsive

ArgoCD + Testkube = Better Together

Table of Contents

Heading

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.

Use TestKube with ArgoCD / ArgoWorkflows

The table below shows how Testkube enhances testing in GitOps scenarios.
Compare:ArgoCDArgoCD + Testkube
Test Execution ConfigurationManaged outside GitIncluded in Cluster State as CRDs
Built-in Test Tool SupportNo ApplicableSupport any testing tools
Test TriggeringCustom scripts per testing tool in ArgoCD Hooks
Trigger test from Testkube using
  • ArgoCD Hooks
  • Kubernetes Events related to ArgoCD reconciliation
  • Execution CRDs deployed via ArgoCD
  • Scheduled
  • CLI
  • REST API
Test troubleshootingNot applicableDashboard for test execution troubleshooting
ReportingNot applicationTest Insights in Dashboard
Advanced Test  Parallelisation & ParameterizationNot applicableYes
SUT provisioningYesLimited
Test artifact managementNot applicable Yes
CI/CD integrationsNot applicable Yes / Native
Webhook integrations Not applicable Yes
RBAC/SSO for test executionNot applicableYes
ArgoCDArgoCD + Testkube
Test Execution ConfigurationManaged outside GitIncluded in Cluster State as CRDs
Built-in Test Tool SupportNo Applicable Support any testing tools
Test Triggering Custom scripts per testing tool in ArgoCD Hooks
Trigger test from Testkube using
  • ArgoCD Hooks
  • Kubernetes Events related to ArgoCD reconciliation
  • Execution CRDs deployed via ArgoCD
  • Scheduled
  • CLI
  • REST API
Test troubleshooting Not applicable Dashboard for test execution troubleshooting
ReportingNot application Test Insights in Dashboard
Advanced Test  Parallelisation & Parameterization Not applicable Yes
SUT provisioning YesLimited
Test artifact management Not applicable Yes
CI/CD integrations Not applicable Yes / Native
Webhook integrations Not applicable Yes
RBAC/SSO for test execution Not applicable Not applicable