kubernetes/kops · error

new zone name should contain at least 1 '.', got %q

Error message

new zone name should contain at least 1 '.', got %q

What it means

Validation guard in Scaleway zones.Add: the new zone name has no '.', so it cannot be split into name+domain parts. Scaleway DNS zones must be of the form name.domain for the provider to infer the domain.

Source

Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:131

	zonesList := []dnsprovider.Zone(nil)
	for _, dnsZone := range dnsZones.DNSZones {
		newZone := &zone{
			name:      dnsZone.Domain,
			domainAPI: z.domainAPI,
		}
		zonesList = append(zonesList, newZone)
	}

	return zonesList, nil
}

// Add adds a new DNS zone. The name of the new zone should be of the form "name.domain", otherwise we can't infer the
// domain name from anywhere else in this function
func (z *zones) Add(newZone dnsprovider.Zone) (dnsprovider.Zone, error) {
	newZoneNameSplit := strings.SplitN(newZone.Name(), ".", 2)
	if len(newZoneNameSplit) < 2 {
		return nil, fmt.Errorf("new zone name should contain at least 1 '.', got %q", newZone.Name())
	}
	newZoneName := newZoneNameSplit[0]
	domainName := newZoneNameSplit[1]
	klog.V(8).Infof("Adding new DNS zone %s to domain %s", newZoneName, domainName)

	_, err := z.domainAPI.CreateDNSZone(&domain.CreateDNSZoneRequest{
		Subdomain: newZoneName,
		Domain:    domainName,
	})
	if err != nil {
		return nil, err
	}
	klog.V(4).Infof("Added new DNS zone %s to domain %s", newZoneName, domainName)

	return &zone{
		name:      newZoneName,
		domainAPI: z.domainAPI,
	}, nil

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Pass a dotted zone name like example.com
  2. Check for typos in the zone name
  3. Ensure the domain exists in Scaleway DNS
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:131 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/aedde84fb5c63a34. Report an issue: GitHub.