2.7 KiB
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) anddocker-compose.ymlfor one-command Linux deploys. ConfigurableHOST_PORT, optional CA-bundle volume for self-signed GUIs. - Bash launcher.
run.shfor native (non-Docker) Linux runs. Creates a.venvon first use and launches either the Streamlit UI (default) or the REPL. HonoursHOSTandPORTenv vars. - Cross-platform line endings.
.gitattributespins LF on shell scripts, YAML, Python and Markdown so checkouts on Linux from a Windows host don't break the launcher with^Mcharacters. .dockerignoreto keep the image lean.
Changed
- README rewritten with Docker + Linux quick starts in front of the Windows / PowerShell path.
.env.examplenow 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_requesttool 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_WRITESenablesPOST/PUT;GPFS_ALLOW_DESTRUCTIVEenablesDELETE. GPFS_CONFIRM_MUTATIONSgates each mutating call at the human.- Optional
GPFS_PATH_ALLOW/GPFS_PATH_DENYregex on the request path. - Free-text
GPFS_INSTRUCTIONS/GPFS_INSTRUCTIONS_FILEappended to the system prompt for site-specific rules.
- Read-only by default;
- Curated
/scalemgmt/v3endpoint 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/:batchDeletecustom-verb syntax. - TLS hardening knobs.
GPFS_VERIFY_TLSandGPFS_CA_BUNDLEfor self-signed lab gear.