-
Story
-
Resolution: Done
-
Blocker
-
None
Today we include the HostedCluster and NodePool Spec's in HypershiftDeployment.
We want to make the coupling looser, so that Service Delivery can update the system and ACM does not necessarily need to be updated. It also stops us from needing to update the Spec of HypershiftDeployment as often.
This makes HD more of an infrastructure resource and delivery tool.
Use the dynamic client, so we don't have to worry about versioning.
Use cases:
Use case 1: Turn key
- User creates the HypershiftDeployment with region and Cloud Provider credential.
- The hypershiftDeployment controller creates a hostedCluster and NodePool resource in the same namespace, these are then packaged into the ManifestWork
- The controller will need a WATCH on these resources for any changes that must be made to the manifestWork.
Use case 2: User provided
- User creates the HypershiftDeployment, HostedCluster and NodePool resources. The later two are referenced in the HD resource using ObjectRef.
- HypershiftDeployment will copy these resources to the ManifestWork to be applied on the remote cluster.
What might be a simpler code flow, is to just add objectRef support, while still having the HostedClusterSpec in 2.5 timeframe and we can remove the HostedClusterSpec and NodePoolSpec in the 2.6 timeframe.