mirror of
https://github.com/anand34577/ferrum.git
synced 2026-09-11 21:38:59 +00:00
9b3d093eb8
- Add 48 new MCP/AI-assistant tools covering guest lifecycle, node operations, firewall/security, and backup/replication/HA/storage/SDN management. Every mutating tool is admin-gated the same way guest_power_action already is; migrate/resize/move-disk, node reboot/shutdown, disk wipe, cert revocation, and cluster-node removal are deliberately left out as being as destructive as a delete. - ai_chat.go: when a provider (chiefly Needle, a pure tool-router with no narrative output of its own) finishes calling tools but returns nothing to say, render the tool results themselves as the answer instead of the misleading "ran out of tool calls" message. - needle.go: serialize every request against the shared Needle subprocess (it handles one request at a time) to stop concurrent callers from racing it, and surface the subprocess's captured output when a request fails because it died mid-response, instead of a bare network error. - Dockerfile: switch the final stage from distroless "static" to "base" — the bundled Needle CLI is a dynamically-linked glibc binary and cannot run in an image with no libc at all. - .github/workflows/release.yml: build and push a multi-arch (amd64/arm64) Docker image to ghcr.io on every version tag, tagged with the version and "latest". - Dockerfile/README: add OCI image labels and document the published GHCR image as the primary Docker install path.