JuliusBrussee/caveman · error
objectstore: production endpoint must be an HTTPS origin wit
Error message
objectstore: production endpoint must be an HTTPS origin without credentials, path, query, or fragment
What it means
Error "objectstore: production endpoint must be an HTTPS origin without credentials, path, query, or fragment" thrown in JuliusBrussee/caveman.
Source
Thrown at shared/platform/objectstore/objectstore.go:207
if strings.TrimSpace(cfg.Endpoint) == "" || strings.TrimSpace(cfg.Bucket) == "" {
return errors.New("objectstore: endpoint and bucket are required")
}
if strings.TrimSpace(cfg.AccessKey) == "" || strings.TrimSpace(cfg.SecretKey) == "" {
return errors.New("objectstore: access key and secret key are required")
}
if !production {
return nil
}
if !cfg.UseSSL || strings.HasPrefix(strings.ToLower(strings.TrimSpace(cfg.Endpoint)), "http://") {
return errors.New("objectstore: production requires TLS")
}
raw := strings.TrimSpace(cfg.Endpoint)
if !strings.Contains(raw, "://") {
raw = "https://" + raw
}
u, err := url.Parse(raw)
if err != nil || u.Scheme != "https" || u.Hostname() == "" || u.User != nil || u.RawQuery != "" || u.Fragment != "" || (u.Path != "" && u.Path != "/") {
return errors.New("objectstore: production endpoint must be an HTTPS origin without credentials, path, query, or fragment")
}
return nil
}
// New constructs a MinIO/S3-backed Store. FromEnv adds a live production probe.
func New(cfg Config) (Store, error) {
endpoint := strings.TrimPrefix(strings.TrimPrefix(cfg.Endpoint, "https://"), "http://")
client, err := minio.New(endpoint, &minio.Options{
Creds: credentials.NewStaticV4(cfg.AccessKey, cfg.SecretKey, ""),
Secure: cfg.UseSSL,
Region: cfg.Region,
})
if err != nil {
return nil, fmt.Errorf("objectstore: minio client: %w", err)
}
return &minioStore{client: client, bucket: cfg.Bucket}, nil
}
View on GitHub (pinned to 27d5a3981a)
Solutions
- Use an HTTPS origin without credentials, path, query, or fragment for the production endpoint.
When it happens
Trigger: Thrown at shared/platform/objectstore/objectstore.go:207 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/9a13155e4a91192f.
Report an issue: GitHub.