Skip to content

Configuration — the dials

Kernel 0.1.0 is configured by environment variables — dials — read by the kernel, the reference and the bodies. Most have a standing default that stands a world on one machine; the first-world compose file sets the handful that differ inside a box. A dial declared as a governed value a person turns from the glass (the first architecture’s thirty-six dials) is re-seated in this architecture and not yet built.

Provider keys — ANTHROPIC_API_KEY, OPENROUTER_API_KEY, OPENAI_API_KEY — are not dials of Orreth’s: their values are read by the gateway alone, and the kernel checks only that a key’s name is reachable where it stands before it registers a mind that needs it (the env-secrets law: a key value lives in no record and no file of Orreth’s).

The rails and the ground

DialDefaultGoverns
SPINE_PGpostgresql://orreth:orreth-dev@localhost:5433/spineWhere the ground is — the Postgres database this world stands on. The image sets it by service name (ground:5432).
SPINE_RABBITamqp://orreth:orreth-dev@localhost:5672/%2FThe invocation rail — RabbitMQ, where work waits for the one body that claims it.
SPINE_KAFKAlocalhost:9092The events rail — Kafka, where facts are published and replayed. A box reaches it as events:29092.
SPINE_SCOPEu:devThe universe this process belongs to. Every row on the ground wears it.
SPINE_QUEUE_NS(empty)The namespace for a cell's benches and topics, so two cells on one broker never share a queue.
SPINE_CELLlocalThe name of the cell this kernel keeps. A universe's home is settled on the ground at light.
SPINE_PEERS—The cells this kernel names, as name=door pairs (two=http://127.0.0.1:4602). Named peers speak over the signed seam.
SPINE_POOL16The most lines to the ground a kernel holds open at once; a knock past the ceiling waits for one.
SPINE_OUTBOX_KEEP_DAYS7How long published facts stay in the outbox before the hourly prune removes them.

The door

DialDefaultGoverns
SPINE_BRIDGE_PORT4600 (the reference: 4601)The port the kernel's door answers on.
SPINE_BIND127.0.0.1 (the image: 0.0.0.0)The address the door binds. Loopback on a host; every interface inside a box so the published port reaches it.
SPINE_HUMAN_ZONEAmerica/DenverThe ground's default time zone for a person who has not told it theirs.
SPINE_MASTERS—Person DIDs declared masters at birth, comma-separated. A master's seat can govern.
SPINE_SEAT_HOURS24How long a person's seat lasts before they prove a code again.
SPINE_CEILING_RATE20Knocks a second one person (or one address at an open door) may make before the door says it is busy.
SPINE_CEILING_BURST60How many knocks the ceiling lets through at once before the rate applies.

The crew and the desk

DialDefaultGoverns
SPINE_BODIEScrewWhether this kernel seats the crew as processes (crew) or none — none beside a lit reference that already seats them.
SPINE_CREWspine/crew.v0.jsonAnother crew manifest to seat instead of the standard one.
SPINE_PYTHONthe spine's own venvThe Python interpreter that runs a body.
SPINE_JOIN_LEASE_DAYS30How long a body's lease lasts before it re-joins through the desk.
SPINE_LEASE_USD1.0A body's fuel allowance in dollars per window, written into its lease.
SPINE_LEASE_RENEW_DAYS1The window the fuel allowance renews in.
SPINE_KERNEL_DOORset by the kernelWhere a spawned body streams its words as they form — the kernel's own door. Set for the body, not by you.
SPINE_SPAWN_TICKETset by the kernelThe one-time ticket a spawned body carries to the desk so the crew is admitted on the manifest without a click.
SPINE_BODY_EPHEMERAL—Tests only: a body with a throwaway self.
SPINE_FAKE_REPLY—Proofs only: the one line the fake mind says while the gateway is dark.

The gateway, the Stable and the shelf

DialDefaultGoverns
SPINE_GATEWAYhttp://127.0.0.1:4604Where the gateway (LiteLLM) answers. Every thought goes through it.
SPINE_GATEWAY_KEYsk-orreth-devThe gateway's master key, which the kernel uses to mint each body its own virtual key with its budget.
SPINE_OLLAMA_BASEhttp://host.docker.internal:11434Where Ollama on your machine is reached from a box, for a mind registered with the ollama provider.
SPINE_MIND_CHECK_S600The stablekeeper's cadence: how often every mind is pinged and its price and end-of-life read.
SPINE_EOL_HORIZON_DAYS30How far ahead the stablekeeper looks for a mind's announced retirement before proposing a swap.
SPINE_TOOL_CHECK_S300The toolkeeper's cadence: how often every service on the shelf is probed.
SPINE_TOOL_UNHEALTHY_STRIKES3Unhealthy probes in a row before the keeper proposes a retire — it never retires alone.
SPINE_SERVICES_HOMEORRETH_HOME/servicesWhere the services' own seeds live, so a tool keeps the same self every life.
SPINE_MCP_REF · SPINE_MCP_REF_TOOLS—The reference MCP server (a clock) a proof stands on the shelf, and the tools it lists.
SPINE_METALcpuThe metal this ground offers to placement; a template that needs more is refused at birth with the reason recorded.

Homes

DialDefaultGoverns
ORRETH_HOME~/.orreth (the image: /var/lib/orreth)Where every seed lives — the kernel's self, the crew's, the services'. Keep it on a volume: it is what makes a self survive the process.
SPINE_KERNEL_HOMEORRETH_HOME/kernelThe directory holding the kernel's own seed.
ORRETH_SPINEbeside the kernel (the image: /opt/orreth/spine)The spine home: the crew manifest, the templates, the tool and lever declarations, the guide, the policy.
ORRETH_GLASSspine/glass/index.htmlThe one page the kernel serves.
SPINE_PROFILEreleasedev.sh only: which cargo profile the walk kernel is built with (debug keeps the quick build for a code loop).

This table was collected by hand from the code that reads each dial — the kernel crate (backend/plane/crates/orreth-spine/src), the reference (spine/orreth_spine), the rig (scripts/dev.sh), the compose file and the Dockerfile — at kernel 0.1.0. When a dial moves, the table moves with the release.