In that case I recommend using client-go directly. In my admittedly limited experience with operator sdk (which was created long after the Prometheus operator), it tries to abstract a lot of things to make things like working with operator lifecycle manager (OLM) easier, but also causes a lot of (to me) unnatural interfaces and sometimes downright prevented me from doing things I needed to do because things were abstracted and hidden too much. We’ve attempted to migrate Prometheus operator several times but never successfully.