openshift/iri-controller
The InternalReleaseImage controller manages the IRI resource lifecycle, generates MachineConfigs for the IRI registry, updates status by aggregating from MachineConfigNodes, and handles deletion. Use when reviewing controller implementation or validating behaviors.
npx skills add https://github.com/openshift/machine-config-operator --skill iri-controller
Verify that the InternalReleaseImage (IRI) controller implementation correctly handles all acceptance criteria defined in test scenarios.
Verify that the IRI aggregation implementation correctly handles all acceptance criteria defined in the CSV test scenarios.
See testdata/acceptance/README.md for complete scenario descriptions.
The skill verifies the implementation matches these acceptance criteria by checking code paths, status constants, condition handling, and message formatting.
For each scenario:
aggregateMCNIRIStatus() - main aggregation functioncheckAPIIntRegistryAvailability() - api-int health checkprocessMCNReleases() - MCN status processingbuildAggregatedReleases() - final status constructionIRIStatusAllReleasesAvailableIRIStatusAPIIntNotAvailableIRIStatusSomeNodesNotAvailableIRIStatusSomeRegistriesUnavailableupdateDegradedCondition()Primary implementation:
pkg/controller/internalreleaseimage/aggregation.gopkg/controller/internalreleaseimage/internalreleaseimage_controller.goEvent handlers that trigger aggregation:
updateMachineConfigNode() - watches for MCN status changesupdateNode() - watches for node Ready condition changesFor each scenario, report:
Include:
For "happy-path.csv":
IRIStatusAllReleasesAvailable is returned when:InternalReleaseImageDegraded=FalseTake openshift/iri-controller from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.