shipper-types 0.3.0-rc.2

Core types for shipper
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Module: `shipper_types::storage`

**Crate:** `shipper-types` (public)
**Single responsibility:** Storage backend configuration types — the stable contract embedders use to declare their storage choice.
**Was:** Part of the standalone `shipper-storage` crate (split in this PR).

## Public API
- `StorageType` — Enum: `File | S3 | Gcs | Azure`
- `CloudStorageConfig` — Configuration for any storage backend (bucket, region, base_path, credentials, etc.)
- `ParseStorageTypeError` — Error returned by `FromStr for StorageType`
- `ValidateStorageConfigError` — Error returned by `CloudStorageConfig::validate`

## Why this lives in shipper-types
These are pure data — no I/O, no policy decisions. Embedders need to express "use this storage backend" through the stable contract crate. The runtime backend behavior lives in `shipper::ops::storage` and is internal/unfinished (only filesystem is implemented today).

Errors here use plain structs rather than `anyhow::Error` so `shipper-types` stays free of `anyhow`.