List<Condition> run(boolean useKRaft) {
        List<Condition> warnings = new ArrayList<>();

        checkKafkaReplicationConfig(warnings);
        checkKafkaBrokersStorage(warnings);

        if (useKRaft)   {
            // Additional checks done for KRaft clusters
            checkKRaftControllerStorage(warnings);
            checkKRaftControllerCount(warnings);
            checkKafkaMetadataVersion(warnings);
            checkInterBrokerProtocolVersionInKRaft(warnings);
            checkLogMessageFormatVersionInKRaft(warnings);
        } else {
            // Additional checks done for ZooKeeper-based clusters
            checkKafkaLogMessageFormatVersion(warnings);
            checkKafkaInterBrokerProtocolVersion(warnings);
            checkKRaftMetadataStorageConfiguredForZooBasedCLuster(warnings);
        }

        return warnings;
    }
@Test
    public void checkKafkaSingleBrokerIntentionalProducesNoWarning() {
        Kafka kafka = new KafkaBuilder(KAFKA)
                .editSpec()
                    .editKafka()
                        .withConfig(Map.of(
                                // We want to avoid unrelated warnings
                                KafkaConfiguration.DEFAULT_REPLICATION_FACTOR, 1,
                                KafkaConfiguration.MIN_INSYNC_REPLICAS, 1
                        ))
                    .endKafka()
                .endSpec()
            .build();

        KafkaNodePool singleController = new KafkaNodePoolBuilder(CONTROLLERS)
                .editSpec()
                    .withReplicas(1)
                .endSpec()
            .build();

        KafkaNodePool singleBroker = new KafkaNodePoolBuilder(POOL_A)
                .editSpec()
                    .withReplicas(1)
                .endSpec()
            .build();

        KafkaSpecChecker checker = generateChecker(kafka, List.of(singleController, singleBroker), KafkaVersionTestUtils.DEFAULT_KRAFT_VERSION_CHANGE);
        List<Condition> warnings = checker.run(true);
        assertThat(warnings, hasSize(0));
    }