I’ve been encountering similar challenges dealing with old Kubernetes library versions, CRDs, etc. Is this a problem mainly with the Kubernetes project or just Go dependencies? It’s quite frustrating, and I always discover some new set of voodoo to handle it.
I'm not quite sure the flavor of your problems, but I imagine some of them were caused be the confusion between v1beta1 and v1 apis. Users would continue to use beta versions of APIs despite the availability of the GA APIs.
Fluffy operators like etcd-operator that do nothing but create some pods for you is incredibly overused concept in k8s ecosphere. I’m convinced most of these projects are spun up for resume padding of the creators. The fact they were able to replicate them using built in k8s controller is another proof of that