Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 1.7 KB

README.md

File metadata and controls

63 lines (47 loc) · 1.7 KB

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 (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