We're running a flat small Cortex cluster in a single binary mode with a single tenant.
Currently we can either run 'all' target which is a predefined subset of modules or a single target.
Target 'all' does not include, for example, compactor which is needed and it can run in clustered mode using a hash ring.
Same goes, I guess, for alertmanager etc.
So we have to run it separately, although I think it's completely fine to run it inside the main instance I guess.
Maybe we can change target configuration parameter to a list and specify several modules to run? Or add another parameter e.g. targets to maintain backwards compatibility.