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:
2026-10-12 15:08:41 +02:00
co-authored by Claude Opus 5.5
parent 9fdced62db
commit bd4bca5399
36 changed files with 5960 additions and 0 deletions
Executable
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Release-Builds der CLI: linux/darwin/windows × amd64/arm64, statisch (CGO aus), nach cli/bin/.
# cli/bauen.sh 0.4.0
set -euo pipefail
cd "$(dirname "$0")"
version="${1:?Version angeben, z. B. 0.4.0}"
commit="$(git rev-parse --short HEAD 2>/dev/null || echo unbekannt)"
mkdir -p bin
rm -f bin/proxdeploy-* bin/SHA256SUMS
for ziel in linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64 windows/arm64; do
os="${ziel%/*}"; arch="${ziel#*/}"
datei="bin/proxdeploy-${version}-${os}-${arch}"
[ "$os" = windows ] && datei="${datei}.exe"
CGO_ENABLED=0 GOOS="$os" GOARCH="$arch" go build -trimpath \
-ldflags "-s -w -X git.wilde-server.de/florian.wilde/proxdeploy/cli/internal/befehle.Version=${version}+${commit}" \
-o "$datei" .
echo "$datei"
done
(cd bin && sha256sum proxdeploy-* > SHA256SUMS)