Two dead ends the menu let you walk into. Without libvirt, every entry answered « sudo: virsh: command not found » and carried on as if nothing had happened — « Aucune VM trouvée » reads like an empty host, not a missing package. Entering the QEMU menu now checks for virsh and offers to install it. The packages are not guessed here: deploy_qemu.py --setup-host already knows them per distribution, so the offer just runs it. Refusing keeps the menu open — listing images or previewing a deployment needs no libvirt. If virsh is still absent afterwards, that is said too: on a rolling-release kernel the setup can need a reboot before the modules load. Without an SSH key, « Chemin de la clé publique SSH (aucune): » accepted an empty answer and deployed VMs nobody could log into — cloud-init injects no key, so there is no install, no check, nothing but a console. The prompt now says what the consequence is and offers to generate one, reusing the same _ssh_ensure_key as the SSH configuration tool so the whole fleet shares one key. Verified: silence when virsh is present, the sudo --setup-host command issued when accepted and nothing run when refused; and on an empty ~/.ssh, the key generated, both halves on disk, and its public path carried into the spec. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| migration_form.py | ||
| migration_stats.py | ||
| qemu_deploy_form.py | ||
| qemu_install_monitor.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| source_todo.sh | ||
| todo.json | ||
| todo.py | ||
| todo_example.json | ||
| todo_file_browser.py | ||
| todo_i18n.py | ||
| todo_prefs.py | ||
| todo_telemetry.py | ||
| todo_upgrade.py | ||
| version_manager.py | ||
TODO is an assistant robot to use ERPLibre
Execute it with ./script/todo/todo.py or make todo.
For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.