# skill_digest: 97edff2455fc66ff47ec8cf2cb8c25155a14938624eee3c81460ea4c50705e3c
The Integration Service is composed of **5 controllers**, documented in the `Sub-components/Controllers` section (lines 176–184):

1. **Build Pipeline Controller** - Monitors completed Component build PipelineRuns, creates `Snapshot` CRs representing collections of components to test together, and updates `Component` status to promote images to the Global Candidate List (GCL).

2. **Snapshot Controller** - Watches for `Snapshot` CRs, creates `PipelineRun`s based on `IntegrationTestScenario`s to test those snapshots, updates `Snapshot` status based on test results, and creates `Release` CRs when all tests pass and auto-release is enabled.

3. **Component Controller** - Handles `Component` CR deletions, regenerating a fresh `Snapshot` without the deleted component.

4. **Scenario Controller** - Manages `IntegrationTestScenario` CRs, validates their configurations, and ensures they are properly set up before use.

5. **StatusReport Controller** - Manages `Snapshot` CRs and their testing status, creating and updating them based on test results from `PipelineRun`s to provide status reporting for integration test execution.
