1个不稳定版本
0.0.1-alpha4 | 2021年10月14日 |
---|---|
0.0.1-alpha3 |
|
0.0.1-alpha |
|
#725 in HTTP服务器
425KB
1.5K SLoC
s3d
是一个用Rust编写的Edge S3守护程序
s3d
的目标是为边缘平台(例如,工厂服务器🏭、飞机🛩、船只🚢、汽车🏎、笔记本电脑💻、移动设备📱、可穿戴设备⌚...)提供一个守护程序,这些平台连接到一个中心对象存储(又称中心)。
由于边缘应用程序在次优环境中运行(高延迟网络、断开连接、硬件故障、监听...),s3d
旨在在处理数据流、安全、网络、本地容量、元数据缓存、写入队列等的同时,使应用程序运行顺利。
值得一提的是,选择Rust语言是边缘系统的自然选择,因为它是一种注重功能、安全和性能的现代语言。s3d
使用rust工具链构建为一个单一的可执行文件,该文件加载一个yaml配置文件,这使得它很容易在独立Linux或容器化环境中(如Kubernetes)进行设置和配置。
信息
该项目仍然是🛸🛸🛸实验性的🚀🚀🚀
这意味着现在是影响其方向的好时机!
如果您对此感兴趣或想做出贡献,请随时使用以下选项进行沟通
- Discord聊天 - 加入讨论频道
- Github问题 - 用于错误/问题/讨论/建议
- Github PR的 - 添加功能/修复/改进(最好先打开一个问题)
- Github 项目 - 跟踪路线图/进度
- 许可证 - Apache-2.0
文档
快速开始
要开始使用 s3d
,您需要安装它、运行它并配置您的数据处理流程。
以下步骤展示了 s3d 的基本使用流程
# 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]
依赖项
~10–17MB
~221K SLoC