code: func CNAME(b ServiceBackend, zone string, state request.Request, opt Options) (records []dns.RR, err error) {
  	services, err := b.Services(state, true, opt)
  	if err != nil {
  		return nil, err
  	}
  
  	if len(services) > 0 {
  		serv := services[0]
  		if ip := net.ParseIP(serv.Host); ip == nil {
  			records = append(records, serv.NewCNAME(state.QName(), serv.Host))
  		}
  	}
  	return records, nil
  }
docs: // CNAME returns CNAME records from the backend or an error.