s3-compatible-storage-patterns

Configure S3-compatible storage clients across Go, Python, and Node.js SDKs.

Updated Mar 29, 2026
One-click install
npx skills add https://github.com/marquesfelip/agents-and-skills --skill s3-compatible-storage-patterns
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: s3-compatible-storage-patterns
Source: https://github.com/marquesfelip/agents-and-skills/tree/main/skills/s3-compatible-storage-patterns
Command: npx skills add https://github.com/marquesfelip/agents-and-skills --skill s3-compatible-storage-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Cross-provider S3-compatible storage integration requires correct client configuration, endpoint handling, and storage patterns to prevent misconfigurations and vendor lock-in.

Core Features & Use Cases

  • Consistent client configuration across Go, Python, Node.js SDKs with endpoint overrides for non-AWS providers
  • Step-by-step guidance for multipart uploads, object key design, CORS, and provider-specific gotchas
  • Use cases include migrating between S3-compatible providers (S3 ↔ R2 ↔ Wasabi ↔ MinIO) and debugging cross-provider interop

Quick Start

Configure a storage client per provider using environment variables for region, endpoint URL, and credentials, then implement a 5 MB+ multipart upload workflow with path-style enabled.

Frequently Asked Questions about s3-compatible-storage-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure S3-compatible storage clients for non-AWS providers?

S3-compatible storage configuration requires environment-based endpoint URLs, region variables, and credentials, plus path-style addressing enabled for non-AWS providers. This ensures consistent client setup across Go, Python, and Node.js SDKs without vendor lock-in.

What is the best way to handle multipart uploads across different S3-compatible providers?

Multipart uploads across S3-compatible providers require a 5 MB+ minimum part size workflow with provider-specific constraints applied. Using consistent SDK endpoint overrides and safe object key design prevents failures during large file transfers between providers like R2, Wasabi, and MinIO.

How do I set up CORS and secure access patterns for cross-provider S3 storage?

CORS and secure access patterns for S3-compatible storage rely on proper SDK configuration and safe key management. Applying provider-specific gotchas and environment-based endpoint constraints ensures secure cross-provider access without exposing credentials or misconfiguring bucket policies.

Why does my S3 SDK throw errors when migrating between MinIO, R2, and Wasabi?

S3 SDK migration errors between providers like MinIO, R2, and Wasabi usually stem from incorrect endpoint handling and missing path-style configuration. Debugging cross-provider interoperability requires provider-specific endpoint overrides and consistent object key design to prevent misconfigurations.

Do I need path-style addressing enabled for S3-compatible storage endpoints?

Path-style addressing is required for most S3-compatible storage endpoints to ensure reliable cross-provider compatibility. Enabling it during client configuration prevents routing errors and misconfigurations when interacting with non-AWS providers like MinIO, Cloudflare R2, and Wasabi.

Can I use the same S3 SDK code to migrate objects between AWS S3 and Cloudflare R2?

Migrating objects between AWS S3 and Cloudflare R2 is possible using the same SDK code by applying environment-based endpoint overrides and path-style handling. Consistent client configuration and multipart upload workflows ensure reliable cross-provider object transfers.