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.