Overview

Understand how @igniter-js/storage organizes uploads with adapters, scopes, and policies to ship reliable file handling fast.

Why Storage

Igniter Storage gives you a typed, adapter-based layer for file handling so you can standardize uploads, public URLs, and lifecycle hooks without hand-rolling S3 or GCS code. It keeps infrastructure concerns inside adapters while the manager enforces scopes, policies, and error handling, matching the way core Igniter services stay framework-agnostic. Use it when you need predictable public links, replace strategies, and observability baked into every file operation.

Implementation-first

All examples reflect real APIs from @igniter-js/storage. Verify imports, types, and env vars before shipping. If you need to add a new adapter, follow the adapter contract and keep business rules out of infra.

How It Works

Storage centers on two pieces: a manager you configure with scopes, base URL, policies, and hooks; and an adapter that talks to your provider (S3, GCS, custom). You create a manager via the builder, then call upload, list, get, copy, or move on typed scopes that resolve clean public URLs. Policies guard uploads, hooks feed logs/telemetry, and errors are typed with IgniterStorageError so your handlers stay predictable.

Start with the Installation and run the Quick Start to ship your first upload. Then formalize structure in Scopes & Paths, tighten guardrails in Policies & Validation, and add observability in Hooks & Telemetry.