kubernetes/kops · error

failed to list domains: %v

Error message

failed to list domains: %v

What it means

listDomains wraps a failure of the godo Domains.List call (pagination intentionally not implemented per the TODO). It fires when the DigitalOcean API errors while enumerating domains in the account, e.g. invalid token or network failure.

Source

Thrown at dnsprovider/pkg/dnsprovider/providers/do/dns.go:430

		}
	}

	for _, record := range deleteRecords {
		err := deleteRecord(r.client, r.zone.Name(), record.ID)
		if err != nil {
			return fmt.Errorf("error cleaning up old records: %v", err)
		}
	}

	return nil
}

// listDomains returns a list of godo.Domain
func listDomains(c *godo.Client) ([]godo.Domain, error) {
	// TODO (andrewsykim): pagination in ListOptions
	domains, _, err := c.Domains.List(context.TODO(), &godo.ListOptions{})
	if err != nil {
		return nil, fmt.Errorf("failed to list domains: %v", err)
	}

	return domains, err
}

// createDomain creates a domain provided godo.DomainCreateRequest
func createDomain(c *godo.Client, createRequest *godo.DomainCreateRequest) (*godo.Domain, error) {
	domain, _, err := c.Domains.Create(context.TODO(), createRequest)
	if err != nil {
		return nil, err
	}

	return domain, nil
}

// deleteDomain deletes a domain given its name
func deleteDomain(c *godo.Client, name string) error {
	_, err := c.Domains.Delete(context.TODO(), name)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify the DigitalOcean API token
  2. Check network connectivity and DO API status
  3. Retry the operation
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/do/dns.go:430 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/965af83b3aef44de. Report an issue: GitHub.