-
Notifications
You must be signed in to change notification settings - Fork 251
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
Expectation related to instantiating components on ApplicationConfiguration #429
Comments
@dhiguero Thank you for bringing up this issue, this is exactly what we want to fix in the v0.2.2 release of OAM spec. The root cause of this issue, as you've already posted, is Thus, we decided fix issue by splitting all the schema related fields into a seperate object named The change from v1alpha1 to v1alpha2 (release v0.2.1)In this context, the objects that will be shared across applications are always definition objects (because they ARE templates) Note that the changes above is not fully reflected in v0.2.1 spec release, for example, the While at the same time, we decided to finish v0.2.2 on implementation side first so to get enough feedback from community, especially on how to do templating and parameterizing. It's why KubeVela project comes out and why we experimented using CUE as the template and parameters in definition objects. The feedback is great in general, and we also received feedback that we should support Helm chart as template in definitions, which indeed makes sense to me. Based on these feedbacks, we've almost completed the v0.2.2 release of OAM spec on KubeVela side today, it evolves from the current release naturally like below: The change from v1alpha2 (release v0.2.1) to v1alpha2 (release v0.2.2)Detailed examples can be found here: Note that we temporarily removed the
So back to this issue, I feel we can ignore the v0.2.1 release (Component + AppConfig), and directly look at the change from v1alpha1 to v0.2.2 release. The change is below: Summary: the change from v1alpha1 to v1alpha2 (release v0.2.2)In detail:
A demo workflow for v0.2.2 could be found here. Hopefully above background and summarize could help to explain what's happening (v1alpha1 -> v0.2.2), so we can evolve the spec following this direction together. We are also eager to onboard more maintainers to join the team and fix the spec alongside with the implementation. |
Thanks @resouer for the comprehensive response on this issue. We will take this into consideration for our next release, and we are looking forward to extend our collaboration in the community. |
We have found an issue related to the expectations of what happens with a component on an ApplicationConfiguration entity. Launching the containerized-workload example once, and then copying the ApplicationConfiguration, changing its name, and launching it again produces the following output:
On the ApplicationConfiguration spec related to the
component
it saysWe believe this is a desired and expected outcome since it will improve reusability and we already have a
parameterValues
attribute. In this way, we think that having reusable components among different ApplicationConfigurations would be ideal. From other parts of the spec, this approach seems to be expectedWe are aware of other proposed entities such as the ComponentSchematic which are defined as
One alternative to introduce this feature using the current entities could be to modify the ApplicationConfiguration to include a new reference so it is clear for the runtime that we expect to make a new copy of a component (creating a new instance) instead of linking it to an existing one:
What do you think?
The text was updated successfully, but these errors were encountered: