oam-dev / spec

Open Application Model (OAM).
https://oam.dev
Other
3.03k stars 246 forks source link

Generic Traits (or standard traits) proposal #444

Open resouer opened 3 years ago

resouer commented 3 years ago

Consider "built-in" a set of essential patch traits in OAM Kubernetes platform (and hopefully works in all OAM platforms), regardless of what kind of encapsulation the component is using (Helm, CUE, ARM, raw CRD etc).

These trait should be essential in majority real world cases and eagerly required by users in app delivery workflow, we will not re-create kustomize or cue, e.g. for generic patch, please use CUE based components/traits instead.

Here is the first list I have by hand for day 1:

For day 2, we could build a path to promote mostly widely used patch traits in CUE based component as essential traits.

resouer commented 3 years ago

/cc @wonderflow @ryanzhang-oss @kminder

kminder commented 3 years ago

This type of standard trait might be sufficient for things that can be handled via static configuration. However we have found that many traits need to introspect the system to collect the information required. Of course in most cases the user could be expected to collect and provide this information but that places undue burden on the user. More importantly the user may not have the privileges required to obtain that information but trail controller may.