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