Skip to content

code0-tech/tucana

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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