Aruna Object Storage - AOS
Aruna Object Storage is a geo-redundant data lake storage system that manages scientific data and a rich set of associated metadata according to FAIR principles. It supports multiple data storage backends (e.g. S3, File ...) via a DataProxy that exposes a S3-compatible interface. The API is designed generally with Google Protocol Buffers. With the release of a new API version, the client libraries are automatically compiled and updated to the latest version.
TL;DR
- GitHub Organization: https://github.com/ArunaStorage
- Documentation: https://arunastorage.github.io/Documentation/latest
- Web UI: https://aruna-storage.org
- Swagger UI: https://api.aruna-storage.org
API
AOS provides a REST API as well as pre-build libraries based on gRPC definitions to offer its services. It is therefor easy to integrate AOS into any system regardless of the used programming language.
Event Notification System
Events in the storage systems, like the creation, update or deletion of a resource, trigger notifications inside the system. Through a dedicated notification API, users can subscribe to these events for a certain set of resources and can then react to these events accordingly. As part of this API, so called "StreamGroups" can be created. Each message will be delivered at least once in each of them. StreamGroups can also be used to load balance message delivery between multiple consumers. Internally NATS.io is used to handle the event notification messages. The system is connected with the overall AAI system of AOS and it is only possible to access messages that which resources a user has read authorization for.
S3 Compatibility
The storage endpoints offer an S3 compatible interface that supports all S3 requests relevant for reading and writing objects, including multipart-requests.