Metamorph existing implementation is done some months ago and we made changes in BMO to work with Metamorph and that was a separate package we kept it in our repo.
So now with this proposed implementation, we need to make Metamorph work with community BMO and solve only specific "management of baremetal hosts over WAN" use cases. So provisioner interface won't change much here but we have to Metamorph compatible with Metal3 standards. Current Metamorph implementation is done based on Ironic API and Conductor service way, but to support only use case we may not need that.
Current codebase changes are application to v1alpha1 but as per community discussion, we need to think of host v1alpha2 and onwards or think of v2 host API which needs some modification in current API versioning.
Metamorph existing implementation is done some months ago and we made changes in BMO to work with Metamorph and that was a separate package we kept it in our repo.