JuliusBrussee/caveman · error
kms: auth token is required
Error message
kms: auth token is required
What it means
Error "kms: auth token is required" thrown in JuliusBrussee/caveman.
Source
Thrown at shared/platform/kms/kms.go:94
provider := strings.ToLower(strings.TrimSpace(cfg.Provider))
if provider != ProviderScaleway {
return nil, fmt.Errorf("kms: unsupported provider %q", provider)
}
region, keyID := strings.TrimSpace(cfg.Region), strings.TrimSpace(cfg.KeyID)
if err := validateLocation(region, keyID); err != nil {
return nil, err
}
decryptKeyIDs := map[string]struct{}{keyID: {}}
for _, allowedKeyID := range cfg.AllowedDecryptKeyIDs {
allowedKeyID = strings.TrimSpace(allowedKeyID)
if err := validateLocation(region, allowedKeyID); err != nil {
return nil, err
}
decryptKeyIDs[allowedKeyID] = struct{}{}
}
token := strings.TrimSpace(cfg.AuthToken)
if len(token) < 20 {
return nil, errors.New("kms: auth token is required")
}
baseURL := strings.TrimRight(strings.TrimSpace(cfg.APIBaseURL), "/")
if baseURL == "" {
baseURL = scalewayAPI
}
parsed, err := url.Parse(baseURL)
if err != nil || parsed.Scheme == "" || parsed.Host == "" || parsed.User != nil || parsed.RawQuery != "" || parsed.Fragment != "" {
return nil, errors.New("kms: invalid API base URL")
}
client := cfg.HTTPClient
if client == nil {
client = &http.Client{
Timeout: 8 * time.Second,
CheckRedirect: func(_ *http.Request, _ []*http.Request) error {
return http.ErrUseLastResponse
},
}
}View on GitHub (pinned to 27d5a3981a)
Solutions
- Set the KMS auth token.
When it happens
Trigger: Thrown at shared/platform/kms/kms.go:94 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/799a52bdd7e1bb19.
Report an issue: GitHub.