code: func (n *Network) BrokerRunner(id int, zookeepers []string) *runner.Kafka {
  	colorCode := n.nextColor()
  	name := fmt.Sprintf("kafka-%d-%s", id, n.NetworkID)
  
  	return &runner.Kafka{
  		BrokerID:                 id + 1,
  		Client:                   n.DockerClient,
  		AdvertisedListeners:      "127.0.0.1",
  		HostPort:                 int(n.PortsByBrokerID[strconv.Itoa(id)][HostPort]),
  		Name:                     name,
  		NetworkName:              n.NetworkID,
  		MinInsyncReplicas:        n.minBrokersInSync(),
  		DefaultReplicationFactor: n.defaultBrokerReplication(),
  		ZooKeeperConnect:         strings.Join(zookeepers, ","),
  		OutputStream: gexec.NewPrefixedWriter(
  			fmt.Sprintf("\x1b[32m[o]\x1b[%s[%s]\x1b[0m ", colorCode, name),
  			ginkgo.GinkgoWriter,
  		),
  		ErrorStream: gexec.NewPrefixedWriter(
  			fmt.Sprintf("\x1b[91m[e]\x1b[%s[%s]\x1b[0m ", colorCode, name),
  			ginkgo.GinkgoWriter,
  		),
  	}
  }
docs: // BrokerRunner returns a runner for an kafka broker instance.