apfs

package module
v0.0.0-...-03ee3a8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

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

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.

Documentation

Index

Constants

View Source
const (
	OriginalFilename = models.OriginalFilename
)

List of constants...

Variables

This section is empty.

Functions

func IsNotFound

func IsNotFound(err error) bool

IsNotFound error object

func WithClient

func WithClient(ctx context.Context, cli Client) context.Context

WithClient puts client object to context

Types

type Action

type Action = models.Action

List of alias types...

type Client

type Client = client.Client

List of alias types...

func ContextGet

func ContextGet(ctx context.Context) Client

ContextGet returns API client object

func NewClient

func NewClient(ctx context.Context, address string, opts ...grpc.DialOption) (Client, error)

NewClient to apfs

type GroupClient

type GroupClient = client.GroupClient

List of alias types...

func NewGroupClient

func NewGroupClient(name string, cli Client) *GroupClient

NewGroupClient wrapper

type Manifest

type Manifest = models.Manifest

List of alias types...

type ManifestTask

type ManifestTask = models.ManifestTask

List of alias types...

type ManifestTaskStage

type ManifestTaskStage = models.ManifestTaskStage

List of alias types...

type Object

type Object = protocol.Object

List of alias types...

type ObjectID

type ObjectID = protocol.ObjectID

List of alias types...

func NewObjectGroupID

func NewObjectGroupID(group, id string) *ObjectID

NewObjectGroupID object with group

func NewObjectID

func NewObjectID(id string) *ObjectID

NewObjectID object

type ObjectIDNames

type ObjectIDNames = protocol.ObjectIDNames

List of alias types...

type ObjectType

type ObjectType = models.ObjectType

List of alias types...

func ObjectTypeByContentType

func ObjectTypeByContentType(contentType string) ObjectType

ObjectTypeByContentType value

type SimpleResponse

type SimpleResponse = protocol.SimpleResponse

List of alias types...

Directories

Path Synopsis
cmd
internal
driver/fs
Package fs implements file storage collection on file (disk) system
Package fs implements file storage collection on file (disk) system
driver/s3
Package s3 implements file storage collection with S3 driver support
Package s3 implements file storage collection with S3 driver support
io
server/protocol/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
libs
converters/procedure
Package procedure provides functionality to call of external programs to process file objects throught STDIN or TMPFILE interfaces.
Package procedure provides functionality to call of external programs to process file objects throught STDIN or TMPFILE interfaces.
converters/shell
Package shell provides functionality to call of external programs to process file objects throught STDIN or TMPFILE interfaces.
Package shell provides functionality to call of external programs to process file objects throught STDIN or TMPFILE interfaces.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL