Skip to content

[WIP] Stardust storage docs#3084

Open
adityaoberai wants to merge 5 commits into
stardustfrom
stardust-storage
Open

[WIP] Stardust storage docs#3084
adityaoberai wants to merge 5 commits into
stardustfrom
stardust-storage

Conversation

@adityaoberai

Copy link
Copy Markdown
Contributor

What does this PR do?

(Provide a description of what this PR does.)

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

Related PRs and Issues

(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you read the Contributing Guidelines on issues?

(Write your answer here.)

@appwrite

appwrite Bot commented Jul 3, 2026

Copy link
Copy Markdown

Appwrite Website

Project ID: 69d7efb00023389e8d27

Sites (1)
Site Status Logs Preview QR
 website
69d7f2670014e24571ca
Ready Ready View Logs Preview URL QR Code

Website (appwrite/website)

Project ID: 684969cb000a2f6c0a02

Sites (1)
Site Status Logs Preview QR
 website
68496a17000f03d62013
Queued Queued View Logs Preview URL QR Code


Tip

Global CDN and DDoS protection come free with every Sites deployment

@adityaoberai
adityaoberai changed the base branch from main to stardust July 3, 2026 21:20
@adityaoberai
adityaoberai marked this pull request as ready for review July 10, 2026 18:15
@greptile-apps

greptile-apps Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds documentation for the new S3-compatible API for Appwrite Storage, including a reference docs page, an announcement blog post, a changelog entry, and a sidebar navigation link.

  • The docs page (s3/+page.markdoc) covers client configuration for five SDK languages (AWS CLI, JS, Python, Go, PHP), API key scopes, object key mapping, virtual folder listings, multipart uploads, bucket/object operation tables, limitations, and error codes.
  • The blog post and changelog entry announce the feature on Appwrite Cloud with matching content; the blog post multicode block intentionally shows three of the five language examples for brevity.
  • A sidebar entry is wired to the new /docs/products/storage/s3 route.

Confidence Score: 5/5

Documentation-only changes with no runtime code; safe to merge after addressing the minor UploadPartCopy wording inaccuracy.

All four changed files are Markdoc/Svelte documentation content with no application logic modified. The Go snippet now correctly includes its import block. The only new finding is a minor wording inaccuracy in the UploadPartCopy row.

src/routes/docs/products/storage/s3/+page.markdoc — UploadPartCopy description wording and the previously flagged x-amz-server-side-encryption/Limitations discrepancy.

Important Files Changed

Filename Overview
src/routes/docs/products/storage/s3/+page.markdoc New S3 API reference page. Go snippet now includes imports. Minor wording inaccuracy in UploadPartCopy description implies x-amz-copy-source-range is required when it is optional.
src/routes/blog/post/announcing-s3-api/+page.markdoc New announcement blog post for the S3-compatible API. Content, credentials table, code examples, and FAQ are accurate and consistent with the docs page.
src/routes/changelog/(entries)/2026-07-31.markdoc New changelog entry linking to the blog post announcement. Short and accurate.
src/routes/docs/products/storage/+layout.svelte Adds the S3 API entry to the storage sidebar navigation, pointing to the new /docs/products/storage/s3 route.

Reviews (3): Last reviewed commit: "Add announcement blog and changelog" | Re-trigger Greptile

Comment thread src/routes/docs/products/storage/s3/+page.markdoc Outdated

| Operation | Description |
| --- | --- |
| `PutObject` | Upload an object. Returns an `ETag`. Honors `Content-Type`, `x-amz-meta-*` user metadata, and `x-amz-server-side-encryption`. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 x-amz-server-side-encryption contradicts Limitations

The PutObject row says Appwrite "honors" x-amz-server-side-encryption, implying the header is acted upon. The Limitations section, however, lists "encryption configuration" as unsupported and returning NotImplemented. A reader uploading sensitive files with x-amz-server-side-encryption: AES256 set could reasonably believe their objects are encrypted at rest via the S3 API when they are not. If the header is silently accepted for tooling compatibility (like ACLs), clarify that explicitly — e.g. "accepted for compatibility; does not enable server-side encryption."

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/routes/docs/products/storage/s3/+page.markdoc
Line: 182

Comment:
**`x-amz-server-side-encryption` contradicts Limitations**

The `PutObject` row says Appwrite "honors" `x-amz-server-side-encryption`, implying the header is acted upon. The Limitations section, however, lists "encryption configuration" as unsupported and returning `NotImplemented`. A reader uploading sensitive files with `x-amz-server-side-encryption: AES256` set could reasonably believe their objects are encrypted at rest via the S3 API when they are not. If the header is silently accepted for tooling compatibility (like ACLs), clarify that explicitly — e.g. "accepted for compatibility; does not enable server-side encryption."

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Codex

{fileId}-{fileName}
```

For example, uploading to the key `reports/january.pdf` creates a file whose name is `reports/january.pdf`, and the object is then listed under a canonical key such as `6710e2...f3-reports/january.pdf`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This and the info box below sounds a little confusing at first, can we simplify?

Comment thread src/routes/docs/products/storage/s3/+page.markdoc Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants