8 releases
0.0.17 | Feb 3, 2025 |
---|---|
0.0.16 | Feb 1, 2025 |
0.0.15 | Jan 6, 2025 |
0.0.14 | Dec 29, 2024 |
0.0.10 | Nov 19, 2024 |
#1075 in Network programming
27 downloads per month
Used in code0-flow
135KB
3K
SLoC
Tucana
This repository is responsible for all gRPC definitions that we use.
Setup
See the setup guide for the following languages. Support for other languages is not planed!
Rust
See: Crate
[dependencies]
tucana = { version = "<version>" }
To enable additional features::
[dependencies]
tucana = { version = "<version>", features = ["sagittarius", "aquila"] }
Ruby
See: Gem
gem 'tucana', '<version>'
Don't forget to initialize the required feature:
# For Sagittarius
Tucana.load_protocol(:sagittarius)
# For Aquila
Tucana.load_protocol(:aquila)
Project Structure
The project is organized with services functioning as servers. Each protocol in the Sagittarius folder corresponds to services that Sagittarius must implement as a server.
.
├── aquila
│ ├── action - Action service (emits events, manages configs, and handles executions)
│ └── execution - Execution service (handles internal execution calls)
├── sagittarius
│ ├── action - Action service (manages logon/logoff requests for action configurations)
│ ├── datatype - DataType service
│ ├── flow - Flow service & Flow types (handles flow updates)
│ ├── flow_definition - Defines a definition for a Flow
│ ├── ping - Ping service (performs life checks)
│ └── runtime_function - Service for updating the runtime functions
└── shared
├── datatype - Defines types for data types
├── event - Defines types for events
├── runtime_function_definition - Defines types for runtime functions
├── struct - Defines types for json representations
└── translation - Contains translations with country codes and translated messages
Dependencies
~5–11MB
~119K SLoC