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
PipelineResources should be able to define their params in their spec with types, just like other CRDs, instead of being limited to just key/value. For example:
(@vdemeester@pmorie I'm assuming we can't get around keeping the type field if we want to add this in a backward compatible manner?)
Actual Behavior
The current model of PipelineResource is a type (string) and a list of params (key:string, value:string). This has some limitations:
There is no way for a consumer of the api, to know what params should be there for a given type (as opposed to an actual type where these would be fields).
Complex types used to configure resources must be projected onto a set of key-value pairs
It is not well defined how existing parameter API would be compatible with API conversions
Users of k8s expect conversion behavior from first-class APIs, but not from key-value pairs (as resource parameters are currently defined)
The above example PipelineResource would today need to be:
This must first be implemented in a backwards compatible way, which would mean supporting both the key/value fields and the new typed fields for one release.
I'm wondering if we should make any changes here before we agree on the extension model. If we have agreement on the goal state first, we can avoid multiple API changes for users. Also, is backward compatibility important here? If so we should take that into account in the resource extension design.
Expected Behavior
PipelineResources should be able to define their params in their spec with types, just like other CRDs, instead of being limited to just key/value. For example:
(@vdemeester @pmorie I'm assuming we can't get around keeping the
type
field if we want to add this in a backward compatible manner?)Actual Behavior
The current model of PipelineResource is a type (string) and a list of params (key:string, value:string). This has some limitations:
It is not well defined how existing parameter API would be compatible with API conversions
The above example PipelineResource would today need to be:
Additional Info
This must first be implemented in a backwards compatible way, which would mean supporting both the key/value fields and the new typed fields for one release.
(Most of this content comes from #238 and is @vdemeester / @pmorie 's words :D)
The text was updated successfully, but these errors were encountered: