Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

fdb-object-store

A simple object store built on top of FoundationDB. This is only a proof of concept developed for a blog post: Building an object store with FoundationDB.

Running

Requires the FoundationDB Go bindings, follow the instructions here to install. Also requires the Gin web framework. After dependencies have been installed the server can be started with go run main.go.

Using

The object store is dead simple to use and only has two features, uploading files and downloading them.

File uploads are handled by making a POST file upload to /object/path/to/file.txt. Everything after /object/ will be used as the file name, there is no notion of paths or directories but they can be simulated with slashes. When uploading a content type must also be specified with the POST form field content_type.

# Example upload using HTTPie
$ http -f POST localhost:8080/object/images/my_image.png content_type="image/png" file@local_file.png

Downloading an existing file is as simple as making a GET request to the same past as the upload. This can also be done through a browser.

# Example download of previously uploaded file (with HTTPie)
$ http -d GET localhost:8080/object/images/my_image.png

License

All code is licensed under MIT.

About

Simple object store built on top of FoundationDB

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages