Figure out how we should manage backwards compatibility for K8s integratino

Backwards compatibility is incredibly difficult and one of the most time consuming things about our K8s integration as well as Auto DevOps. We spent a tonne of time thinking about it for RBAC but still introduced a bug https://gitlab.com/gitlab-org/gitlab-ce/issues/53879 to production even after this code was reviewed by everyone on the team and Kamil.

I think the core reason that these bugs get out is that backwards compatibility is just too damn complicated. It also makes it really difficult for us to innovate on the feature set. I wonder if we can come up with a strategy to simultaneously reduce complexity of maintaining this and reduce bugs. Maybe there is an approach that results in new major features only being run by new clusters. Not exactly sure that looks like but it certainly makes innovation a lot simpler.

Assignee Loading
Time tracking Loading