We want to be able to create certificates on anything implementing CertificateManagement, not just kubernetes.
It should be ensure_ready, no need for the long function name. Let's keep is standard-ish across Harmony. Eventually we will very likely extract the readiness state management in a separate trait.
Change the return types. This is something that will require cleanup across harmony eventually. But the semantic is incorrect here. This trait is not scoped in preparation.
I would have thought that CertificateScore depends on CertificateManagement capability, not the other way around.
You should be using the CRD here, not crafting a GVK. See how it's done with NMstate and other CRDs.
If you were using the CRD properly here you would not have to mess with JSON, you would simply be walking the Rust struct directly.