CulverLab / CulverLab/sparcd-exploration

Compatibility: CI functionality that tests with many object store providers

Open
#197 0 comments 0 reactions 1 assignee Claimed by @Juli4nG View on GitHub
Dominant language
TypeScript
Stars
6
Forks
3
Avg merge
2d 13h
Merged PRs (30d)
106

Description

Consumers of these tools may run any S3-compatible store, so the apps must not assume a provider. CI should prove that against a matrix:

- AWS S3
- MinIO
- Cloudflare R2
- Ceph RGW (what Jetstream runs, and where production is moving per #191)
- RustFS

etc....
https://rclone.org/s3/

Today the code special-cases three: `detectBackendDefaults()` in `packages/types/src/index.ts` branches on R2, AWS, and otherwise assumes MinIO-style path addressing. The shard proxy README also lists Ceph RGW quirks it works around (Host-header signing, no service-level CORS, 501 on some query params and chunked bodies). Those are the known differences to cover first.

Related: #204 end-to-end CI (the store container there should be a swappable setting this matrix can drive), #203 permissions matrix (its per-provider credential fixture step is where each provider's policy setup goes).

---
Serves user story: [SAM1 Contribute code to the project (draft)](https://github.com/CulverLab/sparcd-requirements/wiki/User-Stories#story-sam1--contribute-code-to-the-project-draft), and [RAJ1 Evaluate SPARC'd for a new project (draft)](https://github.com/CulverLab/sparcd-requirements/wiki/User-Stories#story-raj1--evaluate-sparcd-for-a-new-project-draft)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.