docs: narrow README claims; fail fast on missing S3 bucket#104
Merged
Conversation
… artifact Co-Authored-By: Şahin Olut <olut.sahin@gmail.com>
Co-Authored-By: Şahin Olut <olut.sahin@gmail.com>
…is needed Co-Authored-By: Şahin Olut <olut.sahin@gmail.com>
Co-Authored-By: Şahin Olut <olut.sahin@gmail.com>
0lut
marked this pull request as ready for review
June 11, 2026 22:32
0lut
commented
Jun 11, 2026
| Arc::new( | ||
| s3_store_async(bucket, &v2_s3_prefix(prefix), endpoint.as_deref()).await?, | ||
| ) | ||
| let store = |
Owner
Author
There was a problem hiding this comment.
Todo - make it interface based to accomadate multiple providers here, right now it mentions S3, but it does not need to be
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Started as the README fact-check follow-up; now also makes S3 misconfiguration fail fast at startup. The audit artifact (
docs/readme-fact-check-audit.md) is removed so this is directly mergeable.README P1 fixes — two claims were overbroad relative to the implementation:
host/owner/repo(GitHub-style remotes, including top-level GitLab and Bitbucket repos)".Materializer::upstream_urlonly constructshttps://{host}/{owner}/{repo}.git, andRepoKey::parserequires exactly three segments — no custom ports, path prefixes, or GitLab subgroups.GET /info/refscallsupstream_refsby design).Region docs — the Helm install examples no longer pass
aws.region=us-west-2; both READMEs now explain the resolution chain (GIT_CACHE_S3_REGION→AWS_REGION→AWS_DEFAULT_REGION→ SDK default chain, with IRSA injectingAWS_REGIONon EKS) and thataws.regionis only a fallback.Fail-fast missing-bucket check — previously a typo'd/missing bucket let the server start and then fail every S3 call with
NoSuchBucket. NowS3ObjectStore::verify_bucket_access()runs aHeadBucketduringAppState::try_new_async, so the pod crashloops immediately with:(404 →
Validation; other failures →UpstreamUnavailablementioning credentials/endpoint.) The server deliberately does not auto-create buckets — that would needs3:CreateBucketIAM and would silently mask typos with a fresh empty cache. The sync test-onlyAppState::try_newpath is unchanged. Covered by a new MinIO integration testminio_verify_bucket_access_round_trips(missing bucket → clear Validation error naming the bucket; existing bucket → Ok), which runs in the existing MinIO Rust CI shard.The lower-priority audit findings (P2 "like any other HTTP remote", P3 Basic-only per-request auth, stale
v2comments in example configs) are intentionally not addressed here.Link to Devin session: https://app.devin.ai/sessions/73b059cc0b864478861a2bda02dc1246
Requested by: @0lut