Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Add a generic S3-compatible object storage adapter

Open
#334 0 comments 0 reactions 0 assignees View on GitHub

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

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

priority: P0 roadmap track: cloud

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OpenLakeForge/openlakeforge

All issues in OpenLakeForge/openlakeforge

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.