JuliusBrussee/caveman · error
tenantkey: safe month is required
Error message
tenantkey: safe month is required
What it means
Error "tenantkey: safe month is required" thrown in JuliusBrussee/caveman.
Source
Thrown at shared/platform/tenantkey/tenantkey.go:26
)
// CavePlan returns worker/gateway shared published-plan key.
func CavePlan(organizationID, projectID string) (string, error) {
prefix, err := projectPrefix("plan", organizationID, projectID)
if err != nil {
return "", err
}
return prefix, nil
}
// MonthlySpend returns gateway/control-api shared monthly spend key.
func MonthlySpend(organizationID, projectID, month string) (string, error) {
prefix, err := projectPrefix("spend", organizationID, projectID)
if err != nil {
return "", err
}
if !safePart(month) {
return "", errors.New("tenantkey: safe month is required")
}
return prefix + ":" + month, nil
}
// MonthlySpendEvent returns idempotency-marker key for one spend event.
func MonthlySpendEvent(organizationID, projectID, month, requestID string) (string, error) {
prefix, err := projectPrefix("spend-event", organizationID, projectID)
if err != nil {
return "", err
}
if !safePart(month) || !safePart(requestID) {
return "", errors.New("tenantkey: safe month and request id are required")
}
return prefix + ":" + month + ":" + requestID, nil
}
func projectPrefix(namespace, organizationID, projectID string) (string, error) {
if !safePart(organizationID) || !safePart(projectID) {View on GitHub (pinned to 27d5a3981a)
Solutions
- Provide a safe month value (YYYY-MM).
When it happens
Trigger: Thrown at shared/platform/tenantkey/tenantkey.go:26 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/04ed0e31f07e3c59.
Report an issue: GitHub.