Skip to content

Run a node

Build the binaries, create a key and start a node with a minimal configuration:

make build
bin/colca-keygen ./node.key        # writes the key and prints its public half

cat > node.yaml <<'EOF'
ulid: n-edge1
data_dir: ./data
key_file: ./node.key
api: { local_addr: "127.0.0.1:8080" }
EOF

bin/colcad node.yaml

A service on the same machine can now publish through the local door and read the value back:

curl -s -H 'X-Colca-Service: press-bridge' -H 'Content-Type: application/json' \
  -d '{"topic":"colca/v1/_Metric/n-edge1/line1/press3/temp","payload":{"v":71.5}}' \
  http://127.0.0.1:8080/publish

curl -s -H 'X-Colca-Service: press-bridge' 'http://127.0.0.1:8080/kv?prefix=line1'

The local door has no credential, which is why it listens on 127.0.0.1 here. Configuration shows a tree with a parent, TLS doors and enrolled machines.