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,
}, nilView on GitHub (pinned to 4c8573c808)
Solutions
- Pass a dotted zone name like example.com
- Check for typos in the zone name
- 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.