Conformance EE is a Ginkgo v2-based test framework that follows a three-phase pattern: Build, Execute, and Report. It uses combinatorial scenario generation, SHA-256 deduplication, and parallel execution to efficiently validate KKP cluster configurations.
┌───────────────────────────────────┐
│ Ginkgo Test Suite │
└─────────────────┬─────────────────┘
│ calls
▼
┌───────────────────────────────────┐
│ Scenario Generator │
│ Combinatorially generates all │
│ test scenarios & deduplicates │
│ using SHA-256 │
└──────┬──────────┬──────────┬──────┘
│ │ │
▼ ▼ ▼
┌──────────┐ ┌────────┐ ┌──────────┐
│ Settings │ │ Config │ │ Provider │
│& Modifi- │ │ │ │Discovery │
│ ers │ │ │ │ │
└────┬─────┘ └───┬────┘ └────┬─────┘
│ │ │
└───────────┼───────────┘
▼
┌───────────────────────────────────┐
│ Parallel Ginkgo Nodes │
│ Node 1 Node 2 ... Node N │
└─────────────────┬─────────────────┘
│
▼
┌───────────────────────────────────┐
│ Reporting │
│ JUnit XML │ ConfigMap Live │
│ Reports │ Reports │
└───────────────────────────────────┘
The scenario generator produces the complete test matrix before any test spec runs:
The result is a deduplicated map of scenarios where each entry contains the cluster spec plus all machines to test against it.
Test scenarios are executed in parallel across Ginkgo nodes:
The scenario generator is the core engine that produces the test matrix. It uses concurrent workers to parallelize cluster and machine spec generation:
┌─────────────────────────────────────┐
│ Discover Infrastructure │
│ (VPCs, subnets, storage classes) │
└──────────────────┬──────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Generate Cluster Specs │
│ (28 modifiers across 17 groups) │
└──────────────────┬──────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Deduplicate Cluster Specs │
│ (SHA-256 hash) │
└──────────────────┬──────────────────┘
│
▼
For Each Unique Cluster
│
┌────────────┴────────────┐
│ │
▼ ▼
┌───────────────────┐ ┌────────────────────┐
│ Generate Machine │ │ Deduplicate Machine│
│ Specs │─▶│ Specs │
│ (CPU, memory, │ │ (SHA-256 hash) │
│ disk, OS, DNS) │ │ │
└───────────────────┘ └──────────┬─────────┘
│
▼
┌─────────────────────┐
│ Return Scenario Map │
└─────────────────────┘
Handles the full lifecycle of KKP clusters:
Manages machine deployments within user clusters:
A Bubble Tea-based terminal interface that guides users through:
Creates Kubernetes resources for in-cluster test execution: