-
-
Notifications
You must be signed in to change notification settings - Fork 16
Closed
Labels
Description
Implementation of design described in ADR023. Create reusable code, which will be integrated into all operators to enable new product/operator version specification.
This task is related to two epics:
The first epic is the primary focus at the moment, as it is a major blocker to get to multi-arch.
The feature will be implemented to be optional for now.
Acceptance criteria
- Capture requirements described in ADR as test cases for the feature inside of operator-rs
- All use cases and config examples described in "Option 6"
- All examples described in "Decision Drivers"
- Operator using this in the future, will tell the function what product it operates on (to build the image name)
- Provide helper functions in operator-rs to replace existing helper functions like image_version and product_version in operator codebases
- Implement
pullPolicy
as well - Implement
stackableVersion
case handling, as described in ADR Option 6 - Implement
custom
case handling, as described in ADR Option 6- limit functionality to public repositories
- OPTIONAL: Implement
pullSecrets
aspects of ADR, and using private repositories
- Implement erroring when user tries to use
stackable
format for now - Use changes in Spike: Operator changes for multi-arch kafka-operator#477 to verify that the solution is viable and usable
Related out-of-scope followup tasks
To be performed in stackabletech/issues#257
- If not implemented above:
pullSecrets
aspects of ADR, and using private repositories
Status
- Needs work in kube-rs => Add support for untagged enums in CRDs kube-rs/kube#1028
- Needs bump of kube-rs to 0.75.0 (and higher later on) in operator-rs to use the new feature => Upgrade to kube-rs 0.75.0 #471
- PR => [Merged by Bors] - Add product image selection struct #476
- PR for reference implementation in kafka-operator => [Merged by Bors] - Implement product image selection kafka-operator#482