How to extend HyperShift to support a new platform
A Platform represents a series of assumptions and choices that HyperShift makes about the environment where it's running, e.g AWS, IBMCloud, Kubevirt. The implementation of a new platform crosses multiple controllers.
The HostedCluster controller requires an implementation of the Platform interface to shim a particular CAPI implementation and manage required cloud credentials.
The NodePool controller requires an implementation of the machine template reconciliation.
The ControlPlane Operator requires the following:
End to end testing
The end-to-end tests require an implementation of the Cluster interface. As a starting point, check out the None-Platform implementation and its basic test