v2-platform: 03 R2/S3 storage provider + hardening + dual domains

Đã đóng
#279 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
aws, typescript
Lĩnh vực
backend, cloud, security

Hướng nghiên cứu

Bắt đầu với đặc tả các dịch vụ nền tảng v2 trong #274 và phần lõi của deploy service trong #275, sau đó lần theo điểm nối của storage adapter được mô tả ở đây. Xem xét tích hợp aws4fetch và ánh xạ từng tiêu chí chấp nhận tới vị trí triển khai hoặc kiểm thử. Được xem là hoàn tất khi provider đáp ứng các tiêu chí về upload, hạn ngạch, streaming, khử trùng lặp, domain, header và cô lập thông tin xác thực.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

ready-for-agent

Parent

#274 (v2 platform services spec)

What to build

The real storage provider: S3-compatible PUTs (aws4fetch) with scoped, service-held tokens behind the storage adapter seam. Explicit content-type map and immutable cache-control on content-hashed paths (the failure mode that stalled the earlier Cloudflare attempt must be impossible). Day-one hardening: streaming (non-buffering) uploads, concurrency cap, per-account size and file-count quotas, MIME allowlist, robots noindex. Two serving domains: the member domain for account-namespaced uploads, the official domain for platform-account CI uploads through the same service — only the service ever holds CDN credentials.

Acceptance criteria

  • Uploaded bundles are fetchable from the member domain with correct content-type and immutable cache-control headers (stylesheets serve as text/css)
  • Re-uploading identical content dedupes (same content-hash path, no duplicate storage)
  • Over-quota, over-count, disallowed-MIME, and concurrent-flood uploads are all rejected cleanly
  • Uploads stream without buffering whole bundles in service memory
  • Official-path uploads land under the platform account on the official domain through the same contract
  • Member-domain responses carry noindex headers
  • Scoped S3 tokens — no account-wide credentials in any plugin environment

Blocked by

  • #275 (deploy service core)
Ngôn ngữ chính
TypeScript
Star
5
Fork
3
Merge trung bình
9 giờ 58 phút
Pull request đã merge (30 ngày)
212

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của NEARBuilders/everything-dev

Tất cả issue của NEARBuilders/everything-dev

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.