Skip to main content

Module cloud

Module cloud 

Source
Expand description

One command for a fresh machine that should share the tracker.

ljos cloud up installs the release binaries into ~/.local/bin, checks the published SHA-256 sums, puts that directory first on PATH, writes the harness MCP command, and clones LJOS_TRACKER_REMOTE. The command is always the absolute path, so a client with another PATH still starts this install. It writes a webhook wake for each LJOS_WAKE_<SEAT>_URL. Entries this command writes are marked source = "env"; any other wake stays. When LJOS_CLOUD_AGE_SECRET names an environment variable, it writes that variable’s age identity for scope cloud to a mode 0600 file. On a cloud VM it also installs the release’s packset-embed and the ONNX Runtime it links. A later boot with the binaries already installed refreshes the clone, rewrites env-owned wakes, and refreshes the scope cloud identity from the named secret.

Constants§

CLOUD_AGE_SECRET
Names the environment variable that holds the age identity for scope cloud. The value is an identity file as age-keygen writes it, not a path. The identity stays out of the tracker.

Functions§

any_cloud_marker
Whether ljos cloud up has marked this machine. The old refusal file does not count.
cloud_age_row
What ljos doctor says about the age identity for scope cloud.
cloud_seat
Whether this machine is a cloud seat. ljos cloud up marks it by writing the push allowlist. A box that never ran it has no file, so finish exports no deeds.
default_seat
The seat this boot should write under.
guard_row
What ljos doctor says about the one cloud push rule. A marked seat is ok when the pre-push hook is installed. An unmarked machine is told to run ljos cloud up.
mcp_row
What ljos doctor says about the harness MCP command.
merge_org_cli
git’s org merge driver. The merged text replaces ours.
missing_mcp_line
The stderr line when a configured MCP command does not exist. None when there is no config, or the command is there.
prepare_seat_key
The seat’s signing key, created on first use. This is not the machine key at ~/.config/deedar/host.key.
reap_gone_owners
Hand back STARTED claims this machine made whose owner is gone and whose claim is older than lease seconds. A claim is this machine’s when a hold record here names it. Another machine’s claim has no record here, so it is never released from here. seat narrows the release to that seat’s claims. No-op unless LJOS_TRACKER_GIT=push. The release is committed and pushed like any other tracker write.
replace_stale_guard
Delete a refusal file an older ljos cloud up wrote. The one push rule is not stored in a file.
run_seat
The seat a run with id run takes when it boots with LJOS_SEAT set to base, as default_seat names it there.
up
Install binaries, point the harness at them, and clone the shared tracker.
up_at
Install binaries, point the harness at them, and clone the shared tracker.
write_push_allowlist
Replace the push allowlist ljos cloud up writes. code and tracker are remote URLs. Branch names are the short names (develop).