Expand description
Welcome to the Brane code documentation!
On this page, you can find the auto-generated docs from Cargo Docs. More high-level documentation can be found at https://wiki.enablingpersonalizedinterventions.nl.
The current instance of this documentation is generated for Linux (x86-64), Brane version 3.0.0.
§Crate structure
The crates part of this project can be found in the sidebar on the left.
Documentation-only:
overview
: This crate, acting as an entrypoint to the documentation only.
Binaries:
brane-cli
(namedbrane
in the docs): Thebrane
CLI tool, which is used by the end users of the framework (scientists and software engineers) to interact with Brane instances.brane-ctl
(namedbranectl
in the docs): Thebranectl
CTL tool, which is used by system administrators to manage a Brane node.brane-cc
(namedbranec
in the docs): Thebranec
compiler that can compile BraneScript to the WIR (see the docs).brane-let
(namedbranelet
in the docs): Thebranelet
delegate executable that runs in Brane containers.
Shared libraries:
brane-cli-c
: Provides C/C++ bindings to the Brane-client part of thebrane-cli
crate.
Services:
brane-drv
: Implements the driver service in a Brane instance, which acts as the entrypoint and the VM executing WIR-workflows.brane-plr
: Implements the planner service in a Brane instance, which gets incomplete workflows from the driver and turns them into executable plans.brane-api
: Implement the global registry service in a Brane instance, which can be used by clients and other services to query global information of the instance.brane-job
: Implements the worker service in a Brane instance, which takes events emitted by the driver and executes them on the local domain where it is running.brane-reg
: Implements the local registry service in a Brane instance, which can be used by other services to query domain-local information of the instance.brane-prx
: Implement the proxy service in a Brane instance, which interface with the BFC Framework and can route traffic through proxies as it travels between nodes.brane-log
: Unused, but used to implement a lister on Kafka channels to log events.
Libraries:
brane-tsk
: Implements shared code used by the Brane VM plugins.brane-exe
: Implements the Brane VM that executes WIR workflows.brane-ast
: Defines the WIR and compiles from BraneScript to the WIR.brane-dsl
: Defines the BraneScript AST and a parser/scanner for parsing text to it.brane-cfg
: Defines configuration files (and related helpers) used by the various services and created/manipulated bybrane-ctl
.specifications
: Defines the “Brane interface”, i.e., network structs, non-config file layouts (mostly relating to user-facing files) and outward-facing traits and enums. Also contains legacy definitions for the old workflow representation.brane-shr
: Defines common utilities and functions that aren’t really covered bybrane-cfg
orspecifications
.brane-oas
: Unused, but used to implement a parser for the Open API specification language.
Graveyard Brane also has some projects that either did not make it, were abandoned, or were replaced. Below a non-exhaustive list of those projects and what was the last version in which they were developed.
brane-oas
: An Openapi specification crate for Brane. Removed after v3.0.0