Resources per VM offered x1..x4 only — anything else meant deploying with the wrong sizing and resizing afterwards. « [5] Custom » now asks vCPU, RAM and disk once for the whole fleet, and vCPU joins disk and RAM in the per-VM customisation. Presets 1, 2, 4, 6, 8, 16, 24, 32. The two places ask the SAME three questions, so they are one definition each (_qemu_ask_disk / _qemu_ask_ram / _qemu_ask_cpu) instead of two copies that would drift. vCPU is no longer a single global value: it travels per VM through the whole chain, down to --vcpus. Overcommit is allowed on an explicit choice — KVM permits more vCPU than cores — and only warned about. The x1..x4 path still caps at the host core count: that one is an automatic computation, not a decision. Three prompts default to yes (install ERPLibre, ~/.ssh/config, deploy): they are what one wants nearly every time, and typing « o » on each was noise. Flipping a destructive-by-omission default demanded the guards below. Before deploying, a final review lists everything that will change — VMs to create with their effective disk (ERPLibre's +5 G included), VMs left untouched, install profile and branch, SSH key, ~/.ssh/config, parallelism. Answering no asks for confirmation rather than dropping every answer given over a dozen prompts. Name collisions are now reported BEFORE the wait, with their two very different consequences: an already-defined VM is skipped and nothing is overwritten, while a qcow2 left behind by a deleted VM makes deploy_qemu fail, since it refuses to overwrite without --force. Continuing requires an explicit yes; the default is no. Also translated two strings of this flow that had no entry and stayed in English (« Resolving VM IPs… », « no IP »). Verified by driving the prompts with scripted answers: custom profile applied and left intact when blank, per-VM override, 32 vCPU on 28 cores warned but accepted, review with and without ERPLibre install, no → no → deploy, no → yes → cancel, and collisions defaulting to no. Rendering checked in fr and en. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| 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_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.