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 the bare name when PATH already runs this install, and the absolute path when another copy or none would run. 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 anything ljos cloud up leaves behind is here: the guard file or the push allowlist, whatever it holds. For a refusal that must fail closed; cloud_seat wants the exact rules.
cloud_age_row
What ljos doctor says about the age identity for scope cloud.
cloud_seat
Whether this machine is a cloud seat. The guard file holds the refusals ljos cloud up writes now, or the patterns an older ljos wrote for the same three refusals. Reason text and order do not matter. A box that never ran it has no such file, so finish exports no deeds.
default_seat
The seat this boot should write under.
guard_row
What ljos doctor says about the cloud guard refusals cloud seats need. The current patterns are ok whatever their reason text says. A known older file is stale. Anything else that is present differs.
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 whose owner is gone and whose claim is older than lease seconds. No-op unless LJOS_TRACKER_GIT=push. The release is committed and pushed like any other tracker write.
replace_stale_guard
Replace a cloud guard file from an older ljos with the rules this ljos writes. A missing file stays missing. A file that is not one of those versions stays as it was written; ljos cloud up is what replaces that.
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).