gpfsagent/CHANGELOG.md

2.7 KiB

Changelog

All notable changes to this project are documented here. The format follows Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

0.2.0 — 2026-05-20

Added

  • Docker support. Dockerfile (python:3.12-slim, non-root user, Streamlit healthcheck) and docker-compose.yml for one-command Linux deploys. Configurable HOST_PORT, optional CA-bundle volume for self-signed GUIs.
  • Bash launcher. run.sh for native (non-Docker) Linux runs. Creates a .venv on first use and launches either the Streamlit UI (default) or the REPL. Honours HOST and PORT env vars.
  • Cross-platform line endings. .gitattributes pins LF on shell scripts, YAML, Python and Markdown so checkouts on Linux from a Windows host don't break the launcher with ^M characters.
  • .dockerignore to keep the image lean.

Changed

  • README rewritten with Docker + Linux quick starts in front of the Windows / PowerShell path.
  • .env.example now flags v3 as the current API and documents the GUI port conventions (443 for CNSA / containerised, 46443 for native installs) plus the Swagger UI location.

0.1.0 — 2026-05-20

Initial release.

Added

  • Agentic chat over the GPFS REST API v3. Anthropic Claude with native tool-use; a single gpfs_request tool whose verb enum is narrowed by env config so disallowed methods can't even be requested.
  • Two front-ends. Rich-styled terminal REPL (python -m gpfs_agent) and a pure-Python Streamlit web UI (gpfs_agent/web.py). Shared Agent/Dispatcher/Client stack.
  • Env-driven guardrails.
    • Read-only by default; GPFS_ALLOW_WRITES enables POST/PUT; GPFS_ALLOW_DESTRUCTIVE enables DELETE.
    • GPFS_CONFIRM_MUTATIONS gates each mutating call at the human.
    • Optional GPFS_PATH_ALLOW / GPFS_PATH_DENY regex on the request path.
    • Free-text GPFS_INSTRUCTIONS / GPFS_INSTRUCTIONS_FILE appended to the system prompt for site-specific rules.
  • Curated /scalemgmt/v3 endpoint reference baked into the system prompt (gpfs_agent/endpoints.py), compiled from IBM Storage Scale 5.2.3 / 6.0.0 docs. Covers cluster, nodes, NSDs, filesystems, filesets, snapshots, quotas, policies, jobs and perfmon — plus async-job conventions and the :link / :unlink / :batchDelete custom-verb syntax.
  • TLS hardening knobs. GPFS_VERIFY_TLS and GPFS_CA_BUNDLE for self-signed lab gear.