CulverLab / CulverLab/sparcd-exploration
Compatibility: CI functionality that tests with many object store providers
- 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
Assessment
This issue has not been assessed yet.