kubernetes/kops · error
SCW_SECRET_KEY is required
Error message
SCW_SECRET_KEY is required
What it means
Guard in the Scaleway DNS provider's newClient: the SCW_SECRET_KEY environment variable is empty. Like the access-key check, this is an explicit configuration sentinel — both credentials must be present to construct the scw.Client.
Source
Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:71
// 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 {
domainAPI DomainAPI
}
View on GitHub (pinned to 4c8573c808)
Solutions
- Export SCW_SECRET_KEY with your Scaleway secret key
- Use a Scaleway config file with the secret key
- Rotate and re-set the key if invalid
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:71 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/aebeac98b0a9b83c.
Report an issue: GitHub.