public void start() {
        if (maskExitProcedures) {
            Exit.setExitProcedure(exitProcedure);
            Exit.setHaltProcedure(haltProcedure);
        }

        kafkaCluster.start();

        try {
            httpClient.start();
        } catch (Exception e) {
            throw new ConnectException("Failed to start HTTP client", e);
        }

        startConnect();

        try {
            if (numBrokers > 0) {
                assertions().assertExactlyNumBrokersAreUp(
                        numBrokers,
                        "Kafka cluster did not start in time"
                );
                log.info("Completed startup of {} Kafka brokers", numBrokers);
            }

            int numWorkers = workers().size();
            if (numWorkers > 0) {
                assertions().assertExactlyNumWorkersAreUp(
                        numWorkers,
                        "Connect cluster did not start in time"
                );
                log.info("Completed startup of {} Connect workers", numWorkers);
            }
        } catch (InterruptedException e) {
            throw new RuntimeException("Interrupted while awaiting cluster startup", e);
        }
    }
Start the Connect cluster and the embedded Kafka KRaft cluster,
and wait for the Kafka and Connect clusters to become healthy.
connect/runtime/src/test/java/org/apache/kafka/connect/util/clusters/EmbeddedConnect.java