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
Viper + mapstructure automagically converts between types for us, but also silently accepts invalid types and encodes them to redpanda.yaml. We should remove viper and make all of this behavior explicit.
This is a challenging task because nothing in the code indicates what magic is being done automatically. We need to refer to the mapstructure docs to determine what WeaklyTypedInput is doing for us.
I think this should be done in a few parts, the first part requiring the most work.
Exactly codify the magic. At the end of this, we can add a beacon to notify us what specific magic is currently being relied on (do people just have weakly typed yaml one_or_many things, or is there something more complex?), and we can add logs to users telling them that the weak types are being deprecated. We can also now reject outright invalid input.
After 6mo (two releases), reject weak types when writing unless a specific hidden --backwards-compatible flag is given.
After 6mo more, reject weak types on read & write.
The text was updated successfully, but these errors were encountered:
Viper + mapstructure automagically converts between types for us, but also silently accepts invalid types and encodes them to redpanda.yaml. We should remove viper and make all of this behavior explicit.
This is a challenging task because nothing in the code indicates what magic is being done automatically. We need to refer to the mapstructure docs to determine what
WeaklyTypedInput
is doing for us.I think this should be done in a few parts, the first part requiring the most work.
--backwards-compatible
flag is given.The text was updated successfully, but these errors were encountered: