s3d is an S3 daemon for the Edge written in Rust

Related tags

Miscellaneous s3d
Overview


s3d is an S3 daemon for the Edge written in Rust

The goal of s3d is to provide a daemon for edge platforms (e.g. factory servers 🏭 planes πŸ›© ships 🚒 cars 🏎 laptops πŸ’» mobile devices πŸ“± wearables ⌚ ...) that connect to a central object storage (aka Hub).

Since edge applications operate in subideal environments (high latency network, disconnections, hardware failures, eavesdropping, ...), s3d aims to make the applications run smoothly while it handles the flows of data, security, networking, local capacity, metadata caching, write queueing, etc.

Worth mentioning that the choice of the Rust language is a natural fit for the edge systems, as it is a modern language with a focus on functionality, safety and performance. s3d builds with the rust toolchain into a single binary that loads a yaml config file, which makes it easy to set up and configure in standalone linux or containerized environments like Kubernetes.

Info

This project is still πŸ›Έ πŸ›Έ πŸ›Έ Experimental πŸš€ πŸš€ πŸš€

This means it's a great time to affect its direction!

If you find it interesting or want to contribute, please feel free to communicate using these options:

Docs

Quick start

To start using s3d you need to install it, run it, and configure your data workflows.

The following steps illustrate a basic flow of s3d usage:

# Install the s3d binary using Rust toolchain
cargo install s3d

# Sets up the configuration, hub connection, and local storage
s3d init

# Run the daemon to serve S3 clients can connect to read and write objects
# Start and stop will spawn/kill the daemon in the background
s3d run
s3d start
s3d stop

# Fetch reads metadata from the hub and stores locally
# This includes the list of objects and their metadata, but excludes objects contents
s3d fetch [bucket/prefix]

# Pull is like fetch but includes objects contents.
s3d pull [bucket/prefix]

# Simple access to objects from the CLI
s3d get bucket/key > file
s3d put bucket/key < file
s3d ls [bucket/prefix]

# Show local changes not pushed to the hub
s3d diff [bucket/prefix]

# Show bucket status and local store stats (objects, sizes, etc).
s3d status [bucket/prefix]

# Push bucket changes (merge by last modified time).
s3d push [bucket/prefix]

# Remove objects from local store based on age
s3d prune [bucket/prefix]
A language server for lua written in rust

lua-analyzer lua-analyzer is a lsp server for lua. This is mostly for me to learn the lsp protocol and language analysis so suggestions are helpful. T

null 55 Oct 12, 2021
Opensource diagnostic software for Daimler vehicles, inspired by Xentry and DAS, written in Rust

OPENSTAR An opensource diagnostic application for Daimler vehicles inspired by DAS and Xentry. Some of the work here is based on OpenVehicleDiag If yo

Ashcon Mohseninia 11 Oct 31, 2021
Benchmarking web frameworks written in rust with rewrk tool.

Web Framework Benchmarks Benchmarking web frameworks written in rust with rewrk tool.

null 32 Nov 26, 2021
Yet another ROS2 client library written in Rust

RclRust Target CI Status Document Foxy (Ubuntu 20.04) Introduction This is yet another ROS2 client library written in Rust. I have implemented it inde

rclrust 19 Nov 22, 2021
A little bit fast and modern Ruby version manager written in Rust

A little bit fast and modern Ruby version manager written in Rust Features Pure Rust implementation not using ruby-build Cross-platform support (macOS

Takayuki Maeda 353 Nov 28, 2021
Music bot written in Rust

Akasuki What is Akasuki? Akasuki is a simple discord music bot written in rust. Highlights Select your music using discord's new select menu feature,

Forbidden A 1 Oct 18, 2021
A Discord bot for sending GeoGuessr challenge links that uses the GeoGuessr API written in rust.

GeoGuessr-bot-rs This is a simple implementation of a discord bot that send GeoGuessr-challenge links on demand. Features: Slash-commands Lightning-fa

Luukas PΓΆrtfors 3 Nov 1, 2021
Some tools for streaming frames to rpi-rgb-led-matrix using ZeroMQ, written in Rust.

led_matrix_zmq Some tools for streaming frames to rpi-rgb-led-matrix using ZeroMQ, written in Rust. This repository includes: Rust client and server l

Dan 1 Nov 7, 2021
A gui api explorer written in Rust.

Zzz - GUI Api platform Pronounced "Zees"; as in "catching some Z's". A pun on RESTful APIs. example URL: https://jsonplaceholder.typicode.com/todos/ T

Ryan Blecher 0 Nov 11, 2021
Cross-platform GUI written in Rust using ADB to debloat non-rooted android devices

Cross-platform GUI written in Rust using ADB to debloat non-rooted android devices. Improve your privacy, the security and battery life of your device.

w1nst0n 1.1k Nov 23, 2021
A variation of the solana helloworld program example with a client written in Rust instead of Typescript

Simple Solana Smart Contract Example This repository demonstrates how to create and invoke a program on the Solana blockchain. In Solana the word prog

zeke 3 Nov 16, 2021
A powerful minecraft bedrock software written in Rust with a powerful Typescript plugin API.

Netrex A powerful minecraft bedrock software written in RustLang. Why Netrex? It's written in Rust. Unique and straight to the point. Typescript Plugi

Netrex 21 Nov 30, 2021
Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs

Alternative implementation of the Bitwarden server API written in Rust and compatible with upstream Bitwarden clients*, perfect for self-hosted deploy

Daniel GarcΓ­a 12.2k Nov 30, 2021
oreboot is a fork of coreboot, with C removed, written in Rust.

oreboot is a downstream fork of coreboot, i.e. oreboot is coreboot without 'c'.

null 1000 Nov 21, 2021
TAT agent is an agent written in Rust, which run in CVM or Lighthouse instances.

TAT agent is an agent written in Rust, which run in CVM, Lighthouse or CPM 2.0 instances. Its role is to run commands remotely without ssh login, invoked from TencentCloud Console/API. Commands include but not limited to: Shell, PowerShell, Python. TAT stands for TencentCloud Automation Tools. See more info at https://cloud.tencent.com/product/tat.

Tencent 28 Nov 28, 2021
Brainfuck interpreter written in rust

Brainfuck Interpreter Written in Rust Simple Interpreter that runs bare Brainfuck and extends it with debug command # which prints content of first te

Was 1 Nov 28, 2021
Milho (corn in portuguese) is a toy dialect of Lisp written as a way to learn more about compilers

Milho (corn in portuguese) is a toy dialect of Lisp written as a way to learn more about compilers. There are implementations in rust and go

Celso Bonutti 25 Nov 8, 2021
A stupid macro that compiles and executes Rust and spits the output directly into your Rust code

inline-rust This is a stupid macro inspired by inline-python that compiles and executes Rust and spits the output directly into your Rust code. There

William 1 Nov 22, 2021
πŸ€ Building a federated alternative to reddit in rust

Lemmy A link aggregator / Reddit clone for the fediverse. Join Lemmy Β· Documentation Β· Report Bug Β· Request Feature Β· Releases Β· Code of Conduct About

LemmyNet 5.6k Nov 29, 2021