apfs-io/apfs
is an advanced, automated file-processing tool designed for high-performance handling of filesystem objects. The project provides a gRPC and RESTful API for managing, processing, and streaming file objects.
- Efficient File Processing: Upload, stream, and process file data seamlessly.
- Manifest Management: Manage data manifests by group for organized processing.
- Object Operations: Supports retrieving, updating, and deleting filesystem objects.
- Protocol Buffers: API defined with
proto3
for cross-language compatibility. - REST Integration: REST endpoints auto-generated via gRPC Gateway.
- Comprehensive API Documentation: OpenAPI specs available for easy integration.
-
Object Operations
Head
: Retrieve object metadata.Get
: Fetch object data and metadata.Refresh
: Reprocess and refresh object data.Delete
: Delete objects or their subitems.
-
Manifest Operations
SetManifest
: Define or update group manifests.GetManifest
: Fetch group manifest data.
-
Data Upload
Upload
: Stream new file data into the system.
ResponseStatusCode
:RESPONSE_STATUS_CODE_OK
: Success.RESPONSE_STATUS_CODE_FAILED
: Error occurred.RESPONSE_STATUS_CODE_NOT_FOUND
: Resource not found.
Data
: Represents file content or metadata.Manifest
: Represents a processing manifest.ObjectID
: Identifies objects within the filesystem.
Method | Endpoint | Description |
---|---|---|
GET |
/v1/head/{id} |
Retrieve object metadata. |
GET |
/v1/object/{id} |
Retrieve object and data. |
PUT |
/v1/refresh/{id} |
Reprocess an object. |
PUT |
/v1/manifest/{group} |
Set a manifest for a group. |
GET |
/v1/manifest/{group} |
Retrieve a group manifest. |
POST |
/v1/object |
Upload new file data. |
DELETE |
/v1/object/{id} |
Delete an object or subitems. |
This project is licensed under the MIT License. See the LICENSE file for details.