Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic Traits (or standard traits) proposal #444

Open
resouer opened this issue Mar 3, 2021 · 2 comments
Open

Generic Traits (or standard traits) proposal #444

resouer opened this issue Mar 3, 2021 · 2 comments

Comments

@resouer
Copy link
Member

resouer commented Mar 3, 2021

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:

  • Sidecar Trait
    • inject given sidecar to workload instance, the implementation could to be configmap + webhook
  • Dapr Trait
    • enable Dapr for the workload instance, the implementation is similar to (1), just add label to pod instead

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

@resouer
Copy link
Member Author

resouer commented Mar 3, 2021

/cc @wonderflow @ryanzhang-oss @kminder

@kminder
Copy link

kminder commented Mar 4, 2021

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants