describeCluster = async () => {
    const { brokers: nodes, clusterId, controllerId } = await cluster.metadata({ topics: [] })
    const brokers = nodes.map(({ nodeId, host, port }) => ({
      nodeId,
      host,
      port,
    }))
    const controller =
      controllerId == null || controllerId === NO_CONTROLLER_ID ? null : controllerId

    return {
      brokers,
      controller,
      clusterId,
    }
  }
Describe cluster

@return {Promise<ClusterMetadata>}

@typedef {Object} ClusterMetadata
@property {Array<Broker>} brokers
@property {Number} controller Current controller id. Returns null if unknown.
@property {String} clusterId

@typedef {Object} Broker
@property {Number} nodeId
@property {String} host
@property {Number} port