webdav-serverless

command module
v0.0.0-...-810f606 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2024 License: MIT Imports: 13 Imported by: 0

README

webdav-serverless

An implementation of the WebDav protocol backed by AWS S3 and DynamoDB.

About the Design of webdav-serverless

Diagram of webdav-serverless

Metadata Structure Overview

Metadata:

Metadata

Reference:

Reference

Note: In reality, the reference paths are hashed.

Defining MetadataStore tables using DynamoDB

Metadata:

Key Attributes Type Description
PK id string Unique ID (eg. UUID)
GSIPK1 parent_id string ID of the parent directory
name string Name (eg. report.pdf)
type string File system entry type (eg. File or Directory)
size number File size (eg. 512)
modify string File modify time (eg. ISO 8601)
version number Version number for optimistic lock (eg. 1)

Reference:

Key Attributes Type Description
PK id string Unique ID (eg. hashed path)
entries map key(hashed path): value(metadata id)
version number Version number for optimistic lock (eg. 1)
PhysicalStorage specifications using S3
# S3 Key (Metadata#id)
$bucket_name/$UUID

Authors

  • vvatanabe - Main contributor
  • safx - Main contributor
  • kunst1080 - Main contributor
  • Currently, there are no other contributors

License

This project is licensed under the MIT License. For detailed licensing information, refer to the LICENSE file included in the repository.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package webdav provides a WebDAV server implementation.
Package webdav provides a WebDAV server implementation.
internal/xml
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
Package xml implements a simple XML 1.0 parser that understands XML name spaces.

Jump to

Keyboard shortcuts

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