alist/drivers/s3
okatu-loli f1e43cf7d2 feat(s3): Add S3 object archive and thaw task management
This commit introduces comprehensive support for S3 object archive and thaw operations, managed asynchronously through a new task system.

- **S3 Transition Task System**:
  - Adds a new `S3Transition` task configuration, including workers, max retries, and persistence options.
  - Initializes `S3TransitionTaskManager` to handle asynchronous S3 archive/thaw requests.
  - Registers dedicated API routes for monitoring S3 transition tasks.

- **Integrate S3 Archive/Thaw with Other API**:
  - Modifies the `Other` API handler to intercept `archive` and `thaw` methods for S3 storage drivers.
  - Dispatches these operations as `S3TransitionTask` instances to the task manager for background processing.
  - Returns a task ID to the client for tracking the status of the dispatched operation.

- **Refactor `other` package for improved API consistency**:
  - Exports previously internal structs such as `archiveRequest`, `thawRequest`, `objectDescriptor`, `archiveResponse`, `thawResponse`, and `restoreStatus` by making their names public.
  - Makes helper functions like `decodeOtherArgs`, `normalizeStorageClass`, and `normalizeRestoreTier` public.
  - Introduces new constants for various S3 `Other` API methods.
2025-10-15 17:56:04 +08:00
..
doge.go fix(doge): the temporary access key is only valid for two hours (#6273) 2024-03-27 14:22:26 +08:00
driver.go feat(driver/s3): Added the "Other" interface and implemented it by the S3 driver. 2025-10-15 17:17:45 +08:00
meta.go feat(s3): Add support for S3 object storage classes 2025-10-15 15:43:19 +08:00
other.go feat(s3): Add S3 object archive and thaw task management 2025-10-15 17:56:04 +08:00
types.go feat: add s3 driver 2022-09-03 21:38:43 +08:00
util.go feat(storage): Support for displaying file storage classes 2025-10-15 15:59:55 +08:00