feat(cli): proxdeploy in Go
Befehle login, servers, distros, profiles, presets, vm, lxc, template list|build, batch, status, logs --follow, cancel. Renderer im Aufbau der Vorgabe (zeichengenau per Golden-File), 24-bit/256/ohne Farbe, --ascii, --quiet, --json, --dry-run; live im Terminal, zeilenweise ohne. SSE mit Wiederverbinden und Polling als Rückfall. Typen aus openapi.json per oapi-codegen; Release-Builds per cli/bauen.sh. Refs #013 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
[
|
||||
{
|
||||
"distribution": "debian-13",
|
||||
"name": "web01",
|
||||
"netz": {
|
||||
"gateway": "10.0.20.1",
|
||||
"ip": "10.0.20.15/24",
|
||||
"modus": "statisch"
|
||||
},
|
||||
"profile": [
|
||||
"base",
|
||||
"docker"
|
||||
],
|
||||
"server": "rz1",
|
||||
"speicherMb": 4096,
|
||||
"typ": "vm"
|
||||
},
|
||||
{
|
||||
"distribution": "debian-13",
|
||||
"features": {
|
||||
"nesting": true
|
||||
},
|
||||
"name": "mon01",
|
||||
"profile": [
|
||||
"base",
|
||||
"zabbix-agent"
|
||||
],
|
||||
"server": "rz1",
|
||||
"typ": "lxc",
|
||||
"variablen": {
|
||||
"zabbix-agent": {
|
||||
"server": "zbx.example"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,3 @@
|
||||
ID NAME FAMILIE VM LXC
|
||||
debian-13 Debian 13 „Trixie“ debian ja ja
|
||||
ubuntu-26.04 Ubuntu 26.04 LTS debian ja –
|
||||
@@ -0,0 +1,3 @@
|
||||
✗ Die Eingaben sind nicht vollständig oder ungültig.
|
||||
--ip: Format: 10.0.20.15/24
|
||||
--var zabbix-agent.server: Zabbix-Server fehlt.
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"diskGb": 40,
|
||||
"distribution": "debian-13",
|
||||
"name": "web01",
|
||||
"netz": {
|
||||
"ip": "10.0.20.15/24",
|
||||
"modus": "statisch",
|
||||
"vlan": 20
|
||||
},
|
||||
"profile": [
|
||||
"base",
|
||||
"docker"
|
||||
],
|
||||
"server": "rz1",
|
||||
"typ": "vm",
|
||||
"variablen": {
|
||||
"zabbix-agent": {
|
||||
"server": "zbx.local"
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
⬡ ProxDeploy v1.0 · Server rz1 · Node pve01 · Debian 13 (Template 9013) · DRY-RUN
|
||||
|
||||
✓ Prüfungen VMID 120 frei · local-zfs · vmbr0 VLAN 20
|
||||
✓ Klonen full clone 9013 → 120 · Disk auf 40G
|
||||
✓ Provisionierung base, docker
|
||||
|
||||
→ POST /nodes/pve01/qemu/9013/clone full=1 name=web01 newid=120
|
||||
→ POST /nodes/pve01/qemu/120/status/start
|
||||
|
||||
Automatisch dazu: base
|
||||
|
||||
Nichts angelegt. Ohne --dry-run wird ausgerollt.
|
||||
@@ -0,0 +1,6 @@
|
||||
+------------------------------------------------+
|
||||
| [!!] web01 fehlgeschlagen · 12s |
|
||||
| Phase Klonen |
|
||||
| Ursache Storage local-zfs ist voll. |
|
||||
| Hinweis Anderen Storage wählen (--storage). |
|
||||
+------------------------------------------------+
|
||||
@@ -0,0 +1,16 @@
|
||||
⬡ ProxDeploy v1.0 · Server rz1 · Node pve01 · Debian 13 (Template 9013)
|
||||
|
||||
✓ Prüfungen VMID 120 frei · local-zfs · vmbr0 VLAN 20
|
||||
✓ Klonen full clone 9013 → 120 · Disk auf 40G
|
||||
✓ cloud-init user florian · SSH-Key · Profile base, docker
|
||||
✓ Start VM 120 läuft
|
||||
✓ Guest-Agent antwortet nach 18s
|
||||
✓ Provisionierung base, docker
|
||||
|
||||
┌──────────────────────────────────────┐
|
||||
│ ● web01 bereit · 1m 54s │
|
||||
│ VMID 120 │
|
||||
│ IP 10.0.20.15 │
|
||||
│ Profile base, docker │
|
||||
│ SSH ssh florian@10.0.20.15 │
|
||||
└──────────────────────────────────────┘
|
||||
Reference in New Issue
Block a user