code: func (n *Network) BrokerGroupRunner() ifrit.Runner {
  	members := grouper.Members{}
  	zookeepers := []string{}
  
  	for i := 0; i < n.Consensus.ZooKeepers; i++ {
  		zk := n.ZooKeeperRunner(i)
  		zookeepers = append(zookeepers, fmt.Sprintf("%s:2181", zk.Name))
  		members = append(members, grouper.Member{Name: zk.Name, Runner: zk})
  	}
  
  	for i := 0; i < n.Consensus.Brokers; i++ {
  		kafka := n.BrokerRunner(i, zookeepers)
  		members = append(members, grouper.Member{Name: kafka.Name, Runner: kafka})
  	}
  
  	return grouper.NewOrdered(syscall.SIGTERM, members)
  }
docs: // BrokerGroupRunner returns a runner that manages the processes that make up
  // the kafka broker network for fabric.