Description
KubeVela is the originating project for the OAM manifest spec and is one if not the primary consumer of OAM applications in a Kubernetes cluster. A KubeVela controller will try and manage a wasmCloud application if its informer is triggered without any sort of intervention. We might get lucky in the sense that wasmCloud applications are not actually CRDs stored in Kubernetes but are relayed through the aggregated API.
KubeVela uses an annotation app.oam.dev/controller-version-require
which will short-circuit KubeVela's controller if the version does not match what the controller expects. We can simply set app.oam.dev/controller-version-require: wadm
and that would take care of any conflicts. The operator should automatically append this annotation when relaying the manifest through Kubernetes APIs just in case changes to a manifest driven by Kubernetes were cause a reconciliation in the KubeVela controller.
It is probably unlikely that someone would try and run KubeVela and wasmCloud in the same cluster, but this is a straightforward way to ensure that they do not conflict.