Add a generic S3-compatible object storage adapter
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- aws, python
- Domain
- backend, cloud, data-engineering
Research direction
Start by reading the storage contract and the existing SeaweedFS and Azure adapters, then trace how Polaris, Trino, Floe, dlt, dbt and ops artifacts consume them. Implement the S3-compatible adapter with endpoint, region, addressing style, bucket derivation and Secret-backed credentials; validate it with local SeaweedFS S3 conformance and the Scaleway end-to-end run. Done means both end-to-end criteria pass and credentials are absent from contracts, outputs and generated manifests.
Written by the indexing model from the issue text.
Description
Milestone: v0.9-beta — Cloud Beta (AWS, Scaleway, OVH)
Roadmap sequence: #183 (revised 2026-10-05)
Context
Local and Azure run SeaweedFS in the cluster; AWS uses native S3 with Pod Identity. Scaleway Object Storage, OVHcloud Object Storage and on-premises MinIO/Ceph all expose the S3 API. One adapter covers all of them and removes SeaweedFS from cloud deployments, which cuts both cost and operations.
Scope
- A storage contract implementation for an S3-compatible endpoint: endpoint, region, addressing style, the existing per-stage/per-layer bucket derivation, ops bucket and Trino spool prefix.
- Static access keys through Secret references (these providers have no EKS Pod Identity equivalent); rotation per #181.
- Consumers: Polaris, Trino, Floe, dlt, dbt and ops artifacts.
- Local conformance points the adapter at SeaweedFS's own S3 API, so it is tested without adding a component. SeaweedFS stays the default for local and on-premises.
Acceptance criteria
- Full e2e passes locally through the adapter against SeaweedFS's S3 endpoint.
- Full e2e passes on Scaleway Object Storage (#336).
- No credential appears in contracts, outputs or generated manifests.
- Dominant language
- Python
- Stars
- 26
- Forks
- 6
- Avg merge
- 12h 10m
- Merged PRs (30d)
- 175
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenLakeForge/openlakeforge
-
bug good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OpenLakeForge/openlakeforge#498 ·
Maintainers usually reply within 1 day
-
bug good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OpenLakeForge/openlakeforge#497 ·
Maintainers usually reply within 1 day
-
feat(cli): export `olf query` output directly to a filePossibly taken @dbdefault claimed this 1 day ago. Openenhancement good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
OpenLakeForge/openlakeforge#494 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OpenLakeForge/openlakeforge#488 ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
OpenLakeForge/openlakeforge#487 ·
Maintainers usually reply within 1 day
All issues in OpenLakeForge/openlakeforge
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
AstrBotDevs/AstrBot#10720 ·
Maintainers usually reply within 1 day
-
fix(xiaomi): curated picker list still offers six ids that return 400 (plan-limited vs retired)Opencause/upstream comp/cli P2 provider/other tool/file type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
NousResearch/hermes-agent#143900 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
WLAN-Pi/wlanpi-profiler#341 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day