Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

sync_binaries.py

Operator utility (tools/agent/sync_binaries.py) that reconciles the freshly built yuno binaries with what the local yuneta_agent already has installed, and — after confirmation — pushes the differences via install-binary / update-binary.

It drives from the agent’s installed binaries, not from outputs/yunos: only roles the agent already manages on this node are candidates, so it never proposes installing a role this node doesn’t run.

Classification

For each binary the agent has installed:

StatusConditionAction
BUMPlocal version > agent versioninstall-binary
DOWNGRADElocal version < agent versioninstall-binary (flagged)
REBUILDsame version, size changedupdate-binary
UP-TO-DATEsame version, same sizeskipped
NO-BUILDagent has it, no build in outputs/yunosskipped (informational)

It prints the candidate table, asks what to apply (all / one-by-one / quit), then runs install-binary / update-binary id=<role> content64=$$(<role>) for each chosen role.

Lifecycle steps are not automated

The script deliberately does not run the node-wide lifecycle steps that have side effects — it prints them as reminders instead:

See Yuno lifecycle §6.

Usage

tools/agent/sync_binaries.py            # interactive: show table, ask, apply
tools/agent/sync_binaries.py -n         # dry-run: print the commands, run nothing
tools/agent/sync_binaries.py -a         # apply every candidate without asking
tools/agent/sync_binaries.py -u ws://127.0.0.1:1991   # target a specific agent
tools/agent/sync_binaries.py --yunos-dir /path/to/yunos   # override the build dir

See also