Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add product image selection struct #470

Closed
8 tasks done
Tracked by #257
vsupalov opened this issue Sep 20, 2022 · 8 comments
Closed
8 tasks done
Tracked by #257

Add product image selection struct #470

vsupalov opened this issue Sep 20, 2022 · 8 comments

Comments

@vsupalov
Copy link
Contributor

vsupalov commented Sep 20, 2022

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

@lfrancke
Copy link
Member

Is this an epic or a task?

@vsupalov
Copy link
Contributor Author

This is a task, which will be used in stackabletech/kafka-operator#477 and an upcoming epic "Apply changes which were found out to make Kafka operator stackable-experimental friendly to all operators" for stackabletech/issues#256

@sbernauer
Copy link
Member

Implementation is basically done. Draft PR for operator-rs and for kafka-operator are linked in ticket description.
We are blocked on the following things (also linked in ticket description):

  • kube-rs PR to add support for untagged enums
  • operators-rs PR to bump kube-rs version

@sbernauer
Copy link
Member

Currently waiting for kube-rs 0.76.0
New operator-rs version has the fragment validation PR in. The Kafka spike needs to be updated somehow

@sbernauer
Copy link
Member

Everything should be done now, moving to "Waiting for Review"

@nightkr nightkr self-assigned this Oct 31, 2022
bors bot pushed a commit that referenced this issue Nov 11, 2022
## Description
For #470
Reference implementation in kafka: stackabletech/kafka-operator#482
ADR is [here](https://docs.stackable.tech/home/stable/contributor/adr/ADR018-product_image_versioning.html)

The idea is to add all the currently known enum variants to see that the concept works. Before merging the `ProductImageSelection::Stackable` enum variant will be removed/commented out.
bors bot pushed a commit that referenced this issue Nov 11, 2022
## Description
For #470
Reference implementation in kafka: stackabletech/kafka-operator#482
ADR is [here](https://docs.stackable.tech/home/stable/contributor/adr/ADR018-product_image_versioning.html)

The idea is to add all the currently known enum variants to see that the concept works. Before merging the `ProductImageSelection::Stackable` enum variant will be removed/commented out.
@sbernauer
Copy link
Member

Implemented via 863d53e

@sbernauer sbernauer changed the title Implement product image selection as described in ADR023 Add product image selection struct Nov 11, 2022
@lfrancke lfrancke self-assigned this Nov 14, 2022
@lfrancke
Copy link
Member

None of the acceptance criteria have been checked.
Could you double check that everything has been done?

@sbernauer
Copy link
Member

checked

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants