Feat(definitions): restrictions, immutable parameters, abstract definitions and generated forms (7/21)
Merged
BR
16d ago+4279+4279+0123456789012345678901234567890123456789-235-235-012345678901234567890123456789
Stack 7/21 · after #958 · next #960 · needs KubeVela kubevela/kubevela#7423 to build
Targets main but builds on #958, so the earlier stack commits show here too: review the last commit only. Merge after #958.
Description of your changes
Forms follow what the controller enforces and generates.
- Namespace restrictions and quota on a definition, with each namespace's usage. Type pickers hide what the application's namespaces can't use, and a refused deploy says why (warnings included).
- Immutable parameters are locked once their value is deployed.
- Abstract definitions stay out of the type pickers.
- Generated forms: the controller's default UI schema is preferred (addons and config templates too), its
+uihints are rendered, and fields take$( )expressions with suggestions.


Fixes #
I have:
- Read and followed KubeVela's contribution process.
- Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
- Run
yarn lintto ensure the frontend changes are ready for review. - Run
make reviewableto ensure the server changes are ready for review. - Added
backport release-x.ylabels to auto-backport this PR if necessary.
Special notes for your reviewer
- The second commit bumps
github.com/oam-dev/kubevelato the commit that merged kubevela/kubevela#7423, which the generated forms read definitions with.