Skip to content

Automatically apply an annotation so that Wadm and KubeVela do not conflict #11

Open
@protochron

Description

@protochron

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions