modulepackage
0.0.0-20250126151236-03ee3a8044ca
Repository: https://github.com/apfs-io/apfs.git
Documentation: pkg.go.dev
# README
APFS - Autoprocessing File System
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.
Features
- 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.
API Overview
Services
-
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.
Protocol Buffers Structure
Key Enumerations
ResponseStatusCode
:RESPONSE_STATUS_CODE_OK
: Success.RESPONSE_STATUS_CODE_FAILED
: Error occurred.RESPONSE_STATUS_CODE_NOT_FOUND
: Resource not found.
Key Messages
Data
: Represents file content or metadata.Manifest
: Represents a processing manifest.ObjectID
: Identifies objects within the filesystem.
API Endpoints
Method | Endpoint | Description |
---|---|---|
GET | /head/{id} | Retrieve object metadata. |
GET | /object/{id} | Retrieve object and data. |
PUT | /refresh/{id} | Reprocess an object. |
PUT | /manifest/{group} | Set a manifest for a group. |
GET | /manifest/{group} | Retrieve a group manifest. |
POST | /object | Upload new file data. |
DELETE | /object/{id} | Delete an object or subitems. |
License
This project is licensed under the MIT License. See the LICENSE file for details.
# Functions
ContextGet returns API client object.
IsNotFound error object.
NewClient to apfs.
NewGroupClient wrapper.
NewObjectGroupID object with group.
NewObjectID object.
ObjectTypeByContentType value.
WithClient puts client object to context.
# Constants
List of constants...
# Type aliases
List of alias types...
List of alias types...
List of alias types...
List of alias types...
List of alias types...
List of alias types...
List of alias types...
List of alias types...
List of alias types...
List of alias types...
List of alias types...