JuliusBrussee/caveman · error

objectstore: production read/write/delete probe failed: %w

Error message

objectstore: production read/write/delete probe failed: %w

What it means

Error "objectstore: production read/write/delete probe failed: %w" thrown in JuliusBrussee/caveman.

Source

Thrown at shared/platform/objectstore/objectstore.go:182

		Region:    env.String("S3_REGION", "us-east-1"),
		UseSSL:    useSSL,
	}
	if err := validateConfig(cfg, production); err != nil {
		return nil, err
	}
	store, err := New(cfg)
	if err != nil {
		return nil, err
	}
	if production {
		timeout := time.Duration(env.Int("CAVE_OBJECTSTORE_PROBE_TIMEOUT_MS", 10000)) * time.Millisecond
		if timeout <= 0 {
			timeout = 10 * time.Second
		}
		ctx, cancel := context.WithTimeout(context.Background(), timeout)
		defer cancel()
		if err := Probe(ctx, store); err != nil {
			return nil, fmt.Errorf("objectstore: production read/write/delete probe failed: %w", err)
		}
	}
	return store, nil
}

func validateConfig(cfg Config, production bool) error {
	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")
	}

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Fix the objectstore read/write/delete probe failure (credentials/endpoint/permissions).

When it happens

Trigger: Thrown at shared/platform/objectstore/objectstore.go:182 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/2a5ebad63df495ab. Report an issue: GitHub.