move balancer creation out to a separate cr
Motivation
simplify our resource management (this should help ensure balancer stuff is decoupled from the environmentd rollout code)
Tips for reviewer
sorry about the size - most of this is just moving code around but it wasn't really easy to make a single pr smaller than this
Checklist
- [ ] This PR has adequate test coverage / QA involvement has been duly considered. (trigger-ci for additional test/nightly runs)
- [ ] This PR has an associated up-to-date design doc, is a design doc (template), or is sufficiently small to not require a design.
- [ ] If this PR evolves an existing
$T ⇔ Proto$Tmapping (possibly in a backwards-incompatible way), then it is tagged with aT-protolabel. - [ ] If this PR will require changes to cloud orchestration or tests, there is a companion cloud PR to account for those changes that is tagged with the release-blocker label (example).
- [ ] If this PR includes major user-facing behavior changes, I have pinged the relevant PM to schedule a changelog post.
we already have tests that the balancerd pods are created correctly - is there something specific you think we should test about the crd?
we already have tests that the balancerd pods are created correctly - is there something specific you think we should test about the crd?
I was thinking a test that explicitly created the balancerd CR, but perhaps something that does some validation of the CR that gets created, or ensure delete logic cleans up assoicated CRs and sub resources.