code: func (d *DNSProvider) register(domain, fqdn string) error {
  	// TODO(@cpu): Read CIDR whitelists from the environment
  	newAcct, err := d.client.RegisterAccount(nil)
  	if err != nil {
  		return err
  	}
  
  	// Store the new account in the storage and call save to persist the data.
  	err = d.storage.Put(domain, newAcct)
  	if err != nil {
  		return err
  	}
  	err = d.storage.Save()
  	if err != nil {
  		return err
  	}
  
  	// Stop issuance by returning an error.
  	// The user needs to perform a manual one-time CNAME setup in their DNS zone
  	// to complete the setup of the new account we created.
  	return ErrCNAMERequired{
  		Domain: domain,
  		FQDN:   fqdn,
  		Target: newAcct.FullDomain,
  	}
  }
docs: // register creates a new ACME-DNS account for the given domain.
  // If account creation works as expected a ErrCNAMERequired error is returned describing
  // the one-time manual CNAME setup required to complete setup of the ACME-DNS hook for the domain.
  // If any other error occurs it is returned as-is.