This repository is responsible for all gRPC definitions that we use.
See the setup guide for the following languages. Support for other languages is not planed!
See: Crate
[dependencies]
tucana = { version = "<version>" }
To enable additional features::
[dependencies]
tucana = { version = "<version>", features = ["sagittarius", "aquila"] }
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)
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 (handles flow updates)
│ ├── flow_definition - Defines types for flows
│ ├── node - Defines types for nodes
│ └── ping - Ping service (performs life checks)
└── shared
├── datatype_definition - Defines types for data types
├── runtime_function_definition - Defines types for runtime functions
└── translations - Contains translations with country codes and translated messages