Categorygithub.com/apfs-io/apfs
modulepackage
0.0.0-20250126151236-03ee3a8044ca
Repository: https://github.com/apfs-io/apfs.git
Documentation: pkg.go.dev

# README

APFS - Autoprocessing File System

Build Status Go Report Card GoDoc Coverage Status

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

  1. Object Operations

    • Head: Retrieve object metadata.
    • Get: Fetch object data and metadata.
    • Refresh: Reprocess and refresh object data.
    • Delete: Delete objects or their subitems.
  2. Manifest Operations

    • SetManifest: Define or update group manifests.
    • GetManifest: Fetch group manifest data.
  3. 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

MethodEndpointDescription
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/objectUpload 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.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# 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...