Skip to content

Configuration

Brane nodes are configured through YAML files generated by branectl. This page documents the key configuration files and their options.

The main configuration file for any Brane node. It specifies the node type, service ports, and paths to other configuration files.

Location: ./node.yml (by default)

Key fields:

# Node kind: "central", "worker", or "proxy"
node:
kind: central
# Hostname where this node is reachable
hostname: central.example.com
# Paths to other config files (relative to node.yml)
paths:
certs: ./config/certs
infra: ./config/infra.yml # Central only
proxy: ./config/proxy.yml
backend: ./config/backend.yml # Worker only
# Service ports
services:
api:
port: 50051
drv:
port: 50053

Generate with:

Terminal window
# Central
branectl generate node -f central <HOSTNAME>
# Worker
branectl generate node -f worker <HOSTNAME> <LOCATION_ID>

Defines the worker nodes registered in the instance.

Location: ./config/infra.yml

Structure:

# Each worker is listed with its location ID and address
locations:
hospital-a:
address: hospital-a.example.com
hospital-b:
address: 192.0.2.2

Generate with:

Terminal window
branectl generate infra -f -p ./config/infra.yml \
hospital-a:hospital-a.example.com \
hospital-b:192.0.2.2

Defines how the worker executes containers.

Location: ./config/backend.yml

Default (local Docker backend):

backend:
kind: local

Generate with:

Terminal window
branectl generate backend -f -p ./config/backend.yml local

Configures network proxying behavior. Default settings work for most deployments.

Location: ./config/proxy.yml

Generate with:

Terminal window
branectl generate proxy -f -p ./config/proxy.yml

All configuration files can be edited manually after generation. To apply changes:

  1. Stop the node: branectl stop <node_type>
  2. Edit the configuration file
  3. Restart the node: branectl start <node_type>

Some settings can also be controlled via environment variables. Run branectl start --help for a full list of supported overrides.