-
Task
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
None
Drops are not a universal concept, they are product-defined. That means drop creation logic must be pluggable, not hardcoded.
The current DropsCollector assumes that product releases (“drops”) are defined by GitLab tags. This works for legacy products but breaks for RHEL AI, where bootc images are built and shipped without Git tags in the source repository.
As a result:
- Image artifacts for RHEL AI are correctly collected and stored with commit SHAs
- Drops are never created because the bootc repository has no tags
- The current drop model does not reflect how RHEL AI is actually built and released
This ticket proposes refactoring the DropsCollector to support pluggable drop strategies, allowing each product to declare how its drops should be derived.
Proposed Solution
Introduce a Drop Strategy pattern that allows products to explicitly define how drops are derived.
Acceptance Criteria
- Product model supports a drop_strategy field (default: gitlab-tags)
- DropsCollector selects strategy based on product configuration
- RHEL AI drops are created automatically after image sync
- Existing products continue to behave unchanged
- Drops created by different strategies record their provenance