cluster-lifecycle-manager
cluster-lifecycle-manager copied to clipboard
Remove the hook in favour of inline processing
The "Hook" approach is a bit complicated. Rather than re-using the vanilla clusterpyProvisioner.provision
function and passing in a hook to tweak it, we can just inline the respective code and guard it with if cluster.Provider == string(ZalandoEKSProvider)
. This way we achieve the same thing but can see the code in one place and start simplifying some duplication.
Now with this, there's provider-specific code in the general clusterpy.go
file which isn't ideal in the current setup. However, my goal is to refactor it further: rather than calling a big general clusterpyProvisioner.provision
function from two different providers that requires to configure hooks for small modifications, we can just separate (maybe initially duplicate) the code for each provider and then extract a couple of shared functions into a common helper file.