You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -235,6 +235,90 @@ The `opm` command and operator-registry library are updated to:
235
235
236
236
The enhancement includes a new FBC catalog template `substitutesFor` that helps operator authors trivially adopt the release field approach and avoid common error scenarios when implementing Freshmaker-style bundle substitution workflows.
237
237
238
+
### Implementation Phases
239
+
240
+
This enhancement will be implemented in three distinct phases across different components:
241
+
242
+
#### Phase 1: API and Operator Registry (operator-framework/api and operator-framework/operator-registry)
243
+
244
+
**Scope:**
245
+
- Add the optional `release` field to the CSV specification in operator-framework/api
246
+
- Implement release field extraction logic in operator-registry
247
+
- Update `opm` tooling to parse and render release information
248
+
- Add the `substitutesFor` catalog template
249
+
250
+
**Deliverables:**
251
+
- [ ] API schema update with `release` field in Package struct
**Dependencies:** Phase 1 (API and operator-registry changes)
281
+
282
+
**Feature Gate:** `ReleaseVersionPriority`
283
+
- Default: Disabled
284
+
- Purpose: Controls whether bundle selection considers release field for prioritization
285
+
- Graduation: Tech Preview → GA based on testing and feedback
286
+
287
+
**Status:** Pending
288
+
289
+
#### Phase 3: OLMv0 Integration
290
+
291
+
**Scope:**
292
+
- Ensure OLMv0 components gracefully handle bundles with release fields
293
+
- Maintain backward compatibility (no feature gate - passive support only)
294
+
- Validate that existing bundle processing workflows continue unchanged
295
+
296
+
**Deliverables:**
297
+
- [ ] Verification that OLMv0 catalog-operator ignores release field without errors
298
+
- [ ] Confirmation that CSVs with release annotations are processed normally
299
+
- [ ] Regression testing for Freshmaker-style bundles in OLMv0
300
+
- [ ] Documentation noting OLMv0 will not actively use release for prioritization
301
+
302
+
**Dependencies:** Phase 1 (API and operator-registry changes)
303
+
304
+
**Note:** OLMv0 does not support feature gates. The release field is purely additive and optional, so OLMv0 will safely ignore it. Bundle selection in OLMv0 will continue to use existing mechanisms without considering the release field.
305
+
306
+
**Status:** Pending
307
+
308
+
#### Cross-Phase Considerations
309
+
310
+
**Testing Strategy:**
311
+
- Phase 1 tests focus on parsing, extraction, and validation
312
+
- Phase 2 tests focus on selection logic and prioritization behavior
313
+
- Phase 3 tests focus on backward compatibility and regression prevention
314
+
- All phases include integration tests with real bundle scenarios
315
+
316
+
**Rollout Strategy:**
317
+
- Phase 1 can be deployed independently (tools update)
318
+
- Phase 2 rolls out with feature gate disabled by default
0 commit comments