Launch blocker: validate the release candidate on real AWS S3 with end-to-end Git hosting
Maintainers usually reply within 1 day
@ThomasK33 is already working on this.
Since Sep 11, 2026.
Assessment
This issue has not been assessed yet.
Description
Launch gate
Before the public open-source launch and Show HN announcement, record a reproducible real-AWS validation of the release candidate. SeaweedFS and Floci provide valuable regression coverage, but they do not establish that AWS authentication, permissions, storage behavior, and the complete Git hosting flow work together in the intended deployment.
Existing evidence and remaining gap
This is not the first AWS test. The recorded S3 campaign from August 27, 2026 passed the 22-surface qualification suite and exercised real Git pushes and recovery against S3. It was a single-day campaign from compute outside AWS and predates subsequent changes.
The testing reference documents emulator gaps: the pinned Floci lane does not enforce S3 IAM policy decisions or fully validate header-auth signatures/session tokens. Its passing Git/LFS suite therefore cannot prove those AWS properties.
The existing S3-only backend promotion tracker owns experimental-to-supported criteria, including pending contention reruns and multi-day measurements. This issue owns the product-wide public-launch AWS validation; it does not promote S3-only storage or replace that tracker.
Acceptance criteria
- Define an isolated AWS sandbox, dedicated scratch resources, region, least-privilege test role, spending limit, and reliable teardown before provisioning. Use short-lived credentials and retain no secrets in evidence.
- Pin the exact release candidate commit and binary/container artifact. Provide reproducible setup and test commands, preferably automated, with logs and a clear pass/fail report.
- Run from EC2 in the same AWS region as the test bucket. Cover the standard Postgres + S3 topology, including two server replicas; separately exercise the advertised experimental single-node S3-only mode and keep its status explicit.
- Verify repository creation and API reads/writes, Git clone/fetch/push, branches/tags, authorization denials, Git LFS uploads/downloads, and agreement between API and Git views. Verify that writes through one standard-mode replica can be read through the other.
- Test AWS-specific behavior that emulators cannot establish: valid and invalid temporary credentials, session-token handling/refresh, denied IAM permissions, expected bucket owner, valid/tampered presigned URLs, and the conditional-write semantics used by S3-only storage.
- Exercise concurrent writes, cold-cache restart, interrupted push/recovery, and the existing S3-only qualification and lease/restart drills on real S3. Verify acknowledged repository data remains readable and report any failed or skipped case explicitly. Link remaining S3-only promotion criteria to the existing tracker.
- If Kubernetes/EKS is part of the launch support claim, add a focused deployment smoke covering workload identity, ingress/TLS, pod replacement, and rollout behavior. Otherwise record EKS as a follow-up rather than a prerequisite for proving S3 compatibility.
- Publish the evidence and supported deployment limits, resolve release-blocking failures, and verify resource teardown. Close this launch blocker only when the release candidate has the required evidence.
Scope
Keep emulator CI coverage. Real AWS testing supplements it. This issue tracks readiness; it does not authorize provisioning resources, incurring cloud spend, changing repository visibility, or publishing a release.
- Dominant language
- Go
- Stars
- 0
- Forks
- 0
- Avg merge
- 6h 16m
- Merged PRs (30d)
- 243
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
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 coder/openstorage
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
coder/openstorage#807 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 49/100
coder/openstorage#806 ·
Maintainers usually reply within 1 day
-
api: merge/preview ignores strategy, squash and allow_unrelated_historiesPossibly taken @ThomasK33 claimed this today. Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
coder/openstorage#805 ·
Maintainers usually reply within 1 day
-
githttp: +import remote serves clone and fetch, and its pushes stay out of the normal branch listPossibly taken @ThomasK33 claimed this today. Open
Difficulty 5/5 Over a week Newbie friendliness 20/100
coder/openstorage#804 · 2 comments ·
Maintainers usually reply within 1 day
-
api: branches/create ignores expected_target_sha, so a guarded create or move can overwrite a branchPossibly taken @ThomasK33 claimed this today. Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
coder/openstorage#803 ·
Maintainers usually reply within 1 day
All issues in coder/openstorage
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
coder/coder-logstream-kube#255 · 1 comment ·
-
kind/features
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
TencentBlueKing/bk-nodemgr#3991 ·
Maintainers usually reply within 1 day
-
meta
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
last9/last9-mcp-server#554 ·
Maintainers usually reply within 1 day