#object-storage #service #section #storage-api #interface #internal #models

aruna-rust-api

The Rust API build for the Aruna Object Storage (AOS)

60 releases (1 stable)

2.0.0-beta.12 Mar 15, 2024
2.0.0-beta.9 Nov 22, 2023
2.0.0-alpha.8 Jul 27, 2023
1.1.0-rc.8 Jul 3, 2023
0.5.0 Nov 22, 2022

#488 in Web programming

Download history 71/week @ 2023-12-05 95/week @ 2023-12-12 79/week @ 2023-12-19 10/week @ 2023-12-26 55/week @ 2024-01-02 133/week @ 2024-01-09 120/week @ 2024-01-16 116/week @ 2024-01-23 93/week @ 2024-01-30 127/week @ 2024-02-06 39/week @ 2024-02-13 164/week @ 2024-02-20 116/week @ 2024-02-27 154/week @ 2024-03-05 255/week @ 2024-03-12 93/week @ 2024-03-19

634 downloads per month
Used in 2 crates

Apache-2.0

8.5MB
49K SLoC

Aruna Object Storage (AOS) rust-api

This repo contains the Rust api builds for the Aruna storage. It is derived from the API Definitions.

Structure

The API contains three main sections:

  • Storage section: This is the main section for external use. It contains a basic set of services and models that describe the interfaces with the storage system.

  • Notification section: This section contains a set of services and models that describe the interfaces with the notification system.

  • Internal section: This section is for internal use only. It contains a set of internal services and apis that are used by different internal components of the system.

Storage

The storage section is divided in two sub-sections:

  • Models: This section contains the models that are used by the storage system.

  • Storage services: This section contains all services that are used to interact with the storage system. Services are defined as RPCs and are grouped by object type.

Notifications

The Notification section provides a set of RPCs that are used to interact with the notification system. The notification system uses nats.io as its underlying service. The service definition can be found here.

Internal

This contains definitions for internal APIs that are used by different (micro) services internally. These endpoints are not exposed to external users. Currently the main use is the interaction with the storage proxy that bundles multiple storage methods (S3, local file system etc.) in one service that provides stable pre-authenticated up- and download URLs for users.

License

The API is licensed under the Apache 2.0 license. See the License file for more information.

Dependencies

~7–20MB
~251K SLoC