kubernetes/kops · error

SCW_ACCESS_KEY is required

Error message

SCW_ACCESS_KEY is required

What it means

Guard in the Scaleway DNS provider's newClient: the SCW_ACCESS_KEY environment variable is empty, so no Scaleway client can be built. It is a configuration sentinel error — the provider requires both SCW_ACCESS_KEY and SCW_SECRET_KEY before any API interaction.

Source

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

	})
}

// TokenSource implements oauth2.TokenSource
type TokenSource struct {
	AccessToken string
}

// Token returns oauth2.Token
func (t *TokenSource) Token() (*oauth2.Token, error) {
	token := &oauth2.Token{
		AccessToken: t.AccessToken,
	}
	return token, nil
}

func newClient() (*scw.Client, error) {
	if accessKey := os.Getenv("SCW_ACCESS_KEY"); accessKey == "" {
		return nil, fmt.Errorf("SCW_ACCESS_KEY is required")
	}
	if secretKey := os.Getenv("SCW_SECRET_KEY"); secretKey == "" {
		return nil, fmt.Errorf("SCW_SECRET_KEY is required")
	}

	scwClient, err := scw.NewClient(
		scw.WithUserAgent("kubernetes-kops/"+kopsv.Version),
		scw.WithEnv(),
	)
	if err != nil {
		return nil, err
	}

	return scwClient, nil
}

// Interface implements dnsprovider.Interface
type Interface struct {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Export SCW_ACCESS_KEY with your Scaleway access key
  2. Configure via Scaleway config file
  3. Verify keys in the Scaleway console
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:68 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/f98678aeffdd914f. Report an issue: GitHub.