alist/internal
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
..
archive perf: optimize IO read/write usage (#8243) 2025-04-12 16:55:31 +08:00
authn fix(authn): subfolder api is considered as a wrong origin(closes #6294 in #6301) 2024-04-03 14:33:19 +08:00
bootstrap feat(s3): Add S3 object archive and thaw task management 2025-10-15 17:56:04 +08:00
conf feat(s3): Add S3 object archive and thaw task management 2025-10-15 17:56:04 +08:00
db feat: Check usage before deleting storage (#9322) 2025-09-12 17:56:23 +08:00
device fix: session invalid issue (#9301) 2025-08-29 21:20:29 +08:00
driver feat(archive): support multipart archives (#8184 close #8015) 2025-03-27 23:20:44 +08:00
errs feat: implement session management (#9286) 2025-08-25 19:46:38 +08:00
fs feat(s3): Add S3 object archive and thaw task management 2025-10-15 17:56:04 +08:00
fuse chore: add fuse package 2022-07-20 00:39:20 +08:00
message chore: change message type 2022-08-14 03:05:30 +08:00
model feat(storage): Support for displaying file storage classes 2025-10-15 15:59:55 +08:00
net fix(net): unexpected write (#8291 close #8281) 2025-04-12 17:01:52 +08:00
offline_download feat(alias): support writing to non-ambiguous paths (#8216) 2025-03-27 23:17:45 +08:00
op feat: Check usage before deleting storage (#9322) 2025-09-12 17:56:23 +08:00
search fix(index): fix the issue where ignored paths are not updated (#7907) 2025-02-09 18:31:43 +08:00
session feat: implement session management (#9286) 2025-08-25 19:46:38 +08:00
setting refactor: split the db package hook and cache to the op package (#2747) 2022-12-18 19:51:20 +08:00
sign fix(archive): use another sign for extraction (#7982) 2025-03-01 18:34:33 +08:00
stream perf: optimize IO read/write usage (#8243) 2025-04-12 16:55:31 +08:00
task feat(task): allow retry canceled (#7852) 2025-01-27 20:18:10 +08:00