bookingcom / shipper

Kubernetes native multi-cluster canary or blue-green rollouts using Helm
Apache License 2.0
733 stars 39 forks source link

Move InstallationTargets to application clusters #306

Closed juliogreff closed 4 years ago

juliogreff commented 4 years ago

Currently, all CRDs are defined only in the management cluster. As part of splitting shipper into a management and app components, we are instead defining the InstallationTarget CRD in the application clusters. This is where the actual split of Shipper’s functionality starts. This only splits InstallationTargets because of the massive diff that's being generated, so I hope this will be easier to review.

As a general warning, you'll see a lof of weird scaffolding code for the moment, like passing both management clients and clusterclientstore clients alongside each other, installing shipper-app in both clusters, and others. That should all go away once we move the other target objects as well. Review those gently :)

This also completely obliterates the janitor controller. It just won't work in this setup anymore, and needs a complete rewrite. That will come as a follow up to this commit (again, to make diffs smaller).