This is more of a research/design question than a concrete "let's do this to fix this thing", but I want to bring it up anyway as something to think about as we discuss sharing more CRD types between operators.
Using a new enum variant will break parsing for old clients, even if it is unrelated to what you're trying to read from the object. #211 somewhat reduces the blast radius, but it's still problematic and surprising when you run into it. Especially if the new variants are used in default values.
A few implications of this:
Mixing SDP versions within the same cluster becomes even more problematic (this was already a bad idea, but is somewhat unavoidable during upgrades)
It becomes more important that all operators in a given SDP release are on the same operator-rs build
stackablectl may have issues managing clusters of different SDP releases
This also affects third party clients that reuse our CRDs from op-rs
This is more of a research/design question than a concrete "let's do this to fix this thing", but I want to bring it up anyway as something to think about as we discuss sharing more CRD types between operators.
Using a new enum variant will break parsing for old clients, even if it is unrelated to what you're trying to read from the object. #211 somewhat reduces the blast radius, but it's still problematic and surprising when you run into it. Especially if the new variants are used in default values.
A few implications of this: