I have a use case to run a standalone aggregation-apiserver without native kube-apiserver. To enable leader selection for controllers, currently controller-runtime hardcode to use configmapLocks, which won't work for this case because configmap resource is not available in the aggregation-apiserver.
If we expose newResourceLock outside of manager.Options, then controllers can their own customized resourcelocks, and leader selection can work without native kube-apiserver.
This is a minor change, but will be very beneficial for standalone apiservers/controllers.
What do you guys think? I can have a PR if we agree this is a valid use case.