入门指南¶
环境要求¶
- Python >= 3.11
- uv
- Proxmox VE 主机,通常以 root 身份运行;或通过 API 访问的远程主机
(Proxmox VE >= 8.4),配合
create --pve使用 create在未使用--pve时需要 Proxmox VE(qm、pvesm)download命令需要axel、aria2c、wget或curl之一- 签名校验需要
gpg;Ubuntu、Fedora、Rocky、AlmaLinux、openSUSE、Alpine 和 Arch Linux 提供已签名元数据 prepare命令需要qemu-img以及genisoimage、xorriso、mkisofs之一
安装¶
以 uv tool 方式安装 CLI:
uv tool install qm-template
从源码安装:
uv tool install .
快速开始¶
# 下载并校验 cloud image
qm-template download debian
# 在本机 Proxmox VE 主机上创建模板
qm-template create --vm-id 9000
# 或通过 API 在远程主机上创建
qm-template create debian-13 --pve home
# 为其他 hypervisor 转换镜像并生成 NoCloud seed ISO
qm-template prepare debian-13
download 会解析最新构建,校验上游校验和与签名,并按 paths.images_dir 存放。
create 把镜像转换为模板:默认用本地 qm,加 --pve 则通过 Proxmox VE API 在
远程主机上创建。prepare 会在镜像旁写出转换后的磁盘和 CIDATA seed ISO。没有
配置文件时所有命令都能工作;可用设置见配置,各命令细节见
使用。
Shell 补全¶
补全由随 CLI 一起安装的 argcomplete 提供,每个 shell 启用一次即可:
# bash
eval "$(register-python-argcomplete qm-template)"
# zsh
autoload -U bashcompinit && bashcompinit
eval "$(register-python-argcomplete qm-template)"
把对应行加入 ~/.bashrc/~/.zshrc。补全覆盖命令名、选项以及按发行版的参数值;
每个发行版参数选项(--release、--variant、--arch、--tag、--fs、
--firmware 等)都会根据命令行中指定的发行版给出候选值,不支持某个参数的发行版
不会给出该参数的候选。create --pve 会补全 [pve.<name>] 中配置的主机名。
开发¶
uv sync --group dev
just lint
just typecheck
just test
just docs-build
提交前的最终检查是 uv run pre-commit run --all-files。