xregistry/spec

Provide a way to know which features are supported

Opened this issue · 1 comments

E.g. model, specversion, inline, filter, export...

Should probably be part of the model, but read-only in API view since support requires code

Proposal:

  • add a "features" map to the model
  • key = feature name
  • value = any
    • false not supported
    • true is supported
    • any other value (including {}) mean it is supported
    • feature can define the type/shape of the value to allow for fine-grained config
    • must generate an error if a type is invalid type/format/values....
  • during an update, excluding the feature will delete it and reset it to the impl's default value
  • impls SHOULD expose all features even if the values are the spec defined values
  • a missing feature from the list MUST mean it has the spec default value