Organization: Akita Engineering Website: www.akitaengineering.com License: GPLv3 Version: 0.1.5-alpha
The Akita Reticulum Enhancement System (ARES) is designed to elevate the Reticulum network stack by providing robust, modular, and feature-rich enhancements. This system aims to improve the resilience, performance, observability, and overall capabilities of applications built on Reticulum.
ARES is built with a modular architecture, allowing features to be developed, integrated, and maintained independently.
- Enhance Robustness: Implement features like advanced request retries and circuit breakers.
- Improve Performance: Introduce intelligent mechanisms like metric-based path selection.
- Increase Capabilities: Add functionalities such as globally routable multicast and destination proxying.
- Simplify Management: Provide comprehensive configuration, centralized logging, and a CLI.
- Ensure Reliability: Through comprehensive error handling and thorough testing.
- Robust Request Retries:
- Automatic retry mechanism for
Reticulum.request()calls. - Configurable retry parameters (retries, delay, jitter).
- Detailed logging of retry attempts and failures.
- Metrics for retry attempts, successes, failures, and duration.
- Automatic retry mechanism for
- Metric-Based Path Selection:
- Intelligent routing decisions based on network metrics (e.g., RTT, hop count, link quality).
- Dynamic path selection to optimize network performance.
- Support for custom metric evaluation modules.
- Metrics for path selection events and chosen path quality.
Organization: Akita Engineering Website: https://www.akitaengineering.com License: MIT Version: 0.1.6
ARES (Akita Reticulum Enhancement System) provides modular enhancements to the Reticulum (RNS) network stack. It focuses on improving resilience, observability, and operational behavior for applications using RNS.
- Core modules implemented and unit tested.
- Current test coverage: all unit tests pass locally (29 tests).
- Robust request retries with configurable backoff and jitter.
- Circuit breaker implementation for isolating failing operations.
- Metric-based path selection (RTT / hops / custom metrics).
- Destination proxying support (client and proxy node logic).
- Prometheus metrics with a simple
/metricsand/healthendpoint. - JSON-based configuration with optional JSON Schema validation.
akita_ares/- package sourcecore/- config, logging, utilitiesfeatures/- pluggable features (monitoring, proxying, path selection, retries)cli/- command line interfacemain.py- application orchestration
tests/- unit tests (run withpytest)examples/- example config and schema files
- Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # on Windows: .venv\Scripts\Activate.ps1- Install dependencies:
pip install -r requirements.txt
pip install pytest- Copy and adjust configuration:
cp examples/sample_config.json ~/.ares_config.json
# edit the file as needed- Run tests:
python -m pytest -q- Run the CLI (start is default):
python -m akita_ares.cli.main_cli --config /path/to/config.json --loglevel INFO- RNS (Reticulum) is optional for running unit tests; features that require RNS have fallbacks and will log warnings when RNS is not present.
- The package uses a small built-in HTTP server to expose Prometheus metrics and a
/healthendpoint.
Contributions, bug reports, and PRs are welcome. Please follow the standard GitHub workflow: fork, branch, commit with clear messages, and open a PR against main.
This project is licensed under the MIT License — see the LICENSE file for details.
For questions, reach out to the Akita Engineering team via the project repository.