The Marketplace operator is not the place to do this validation (since the Marketplace operator does not even pull down the csv yaml directly anyway). Instead, this validation is done in the operator-courier (source available at: https://github.com/operator-framework/operator-courier pypi package available at: https://pypi.org/project/operator-courier/). If the operator-courier is used to push the bundle up to Quay.io, then the bundle would fail to be pushed because install mode is not set.
courier version:1.2.0 push the csv withou installmode will throw error # operator-courier push amq-streams/ jfan amq-streams 2.0.0 "xxxxxxxxxxxxxxx" ERROR:operatorcourier.validate:csv spec.installModes not defined ERROR:operatorcourier.api:Bundle failed validation. Resulting bundle is invalid, input yaml is improperly defined.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2019:0758