rancher / elemental-operator

The Elemental operator is responsible for managing the OS versions and maintaining a machine inventory to assist with edge or baremetal installations.
Apache License 2.0
41 stars 17 forks source link

ManagedOSVersionChannel.Spec.Options is schemaless #779

Open anmazzotti opened 3 months ago

anmazzotti commented 3 months ago

Unclear why this is a Schemaless field. What's the reason behind it? How am I supposed to use this as a user?

Documentation doesn't inform the user about it, also it's going to be really really hard to do any kind of validation.

This is worth some investigation and definitely a cleanup.

davidcassany commented 2 months ago

As an idea, I'd trim out from the metadata all current data and promote it to spec and I'd keep the metadata as a schemaless field that is not associated with the operator functionality in any way. I'd use the metadata field as a place to include free form OS information that is not required for the controller operation in any way. So metadata contents are not part of any contract.

Then I'd use metadata to include changelog information and make explicit this is a free form data subject to change.

We should also ensure this suits in the roadmap as this implies API changes that not backward compatible.