CROWDB / DEPLOYMENT

Bare-metal KV cluster

Start KV processes, then seal and publish Group 0 topology.

Development preview · not production-ready

This is a one-node development example. Use disposable data. Each additional node needs its own absolute workspace, management port, RPC port, launch entry, rack/node entry and bootstrap server entry. Group 0 stores cluster topology; the launch registry stores only process inputs.

Build and prepare the process

Run from the CROWDB source checkout. Replace the example /srv/crowdb paths with absolute paths writable by the service account.

pixi run build
mkdir -p /srv/crowdb/kv-1
cp app/crowdb-kv-server/conf/crowdb_kv_server_config.toml /srv/crowdb/kv-1/server.toml

Save the following as /srv/crowdb/launches.toml. The binary path must point to the build just produced. The management and RPC ports must be reachable from the console and peer nodes.

version = 1

[[launch]]
node_id = 1
service_id = "kv"
host = "localhost"
binary_path = "/ABSOLUTE/CROWDB/CHECKOUT/target/release/crowdb-kv-server"
service_config_path = "/srv/crowdb/kv-1/server.toml"
workspace = "/srv/crowdb/kv-1"
auto_start = false
readiness_url = "http://127.0.0.1:10000/health"
args = ["--node-id", "1", "--root", "/srv/crowdb/kv-1/data", "--management-addr", "127.0.0.1", "--management-port", "10000", "--ports", "10100"]

Bootstrap Group 0

Start the configured process. Its HTTP health endpoint checks process readiness before Group 0 is initialized.

pixi run -- target/release/crowdb-cli --registry /srv/crowdb/launches.toml launch start --node 1 --service kv
curl -f http://127.0.0.1:10000/health

Save the following separate input as /srv/crowdb/bootstrap.toml. Match the management and RPC addresses to the actual process. Do not put SSH private keys or passwords in this file.

version = 1
members = [1]

[[racks]]
id = 1
name = "rack-one"

[[nodes]]
id = 1
rack_id = 1
host = "127.0.0.1"
ssh_port = 22
ssh_user = ""

[[servers]]
id = "1"
node_id = 1
management_url = "http://127.0.0.1:10000"
rpc_url = "http://127.0.0.1:10100"
pixi run -- target/release/crowdb-cli --registry /srv/crowdb/launches.toml cluster init --nodes 1 --bootstrap-file /srv/crowdb/bootstrap.toml
pixi run -- target/release/crowdb-cli --registry /srv/crowdb/launches.toml cluster status
pixi run -- target/release/crowdb-cli --registry /srv/crowdb/launches.toml cluster rack list

The console seals a private retry copy before publication and deletes it after Group 0 confirms the records. After an interrupted attempt, repeat cluster init --nodes 1 without the input path; it checks the sealed identity before continuing. Keep the launch registry for process control, and use confirmed Group 0 reads to inspect topology.

Next layers

Continue with the chunk layer, then data access servers. The Docker quick start is a separate single-node evaluation path.