Releases: tools-plus/frugal
Releases · tools-plus/frugal
Release list
v0.2.1 — CLI help/version, logo & branding
A small polish release on top of v0.2.0.
CLI
- Richer
--help— top-level usage now covers both modes (serverdefault,agent), key environment variables, and examples (frugal help). - Per-mode help on
frugal server -h/frugal agent -hand on invalid flags. frugal version/--version— the version is now injected at build time, so released binaries and the GHCR image report their tag (e.g.frugal v0.2.1).
Branding & docs
- New raccoon logo and a README header with badges and tagline.
Fixes
- Correct a stray
AWSOBS_reference in thedocker-compose.prod.ymlexample comment.
Install
- Docker:
docker pull ghcr.io/tools-plus/frugal:v0.2.1(multi-arch amd64 + arm64) - Binary:
frugal-linux-amd64/frugal-linux-arm64attached below (+ sha256) — runfrugal versionto confirm.
v0.2.0 — EKS discovery, cost controls, long-range history, drag-zoom
Second release — a big batch across EKS, cost, history, and the dashboard.
EKS
- Auto-discover EKS clusters from AWS credentials (
eks:ListClusters+DescribeCluster) and collect node/pod metrics with a minted token per cluster — no kubeconfig, no kubectl, works in a container. Toggle: Admin ▸ Settings ▸ Kubernetes ▸ auto-discover EKS.
Cost controls
- Cost-mode presets — frugal (10m) / balanced (5m) / detailed (1m) set poll interval + period in one click.
- Live monthly CloudWatch cost estimate in Settings, reacting to poll interval, selected services, and the supersede toggle.
native supersedes CloudWatch— drop the paid namespaces a native poller already covers (ElastiCache/OpenSearch/AmazonMQ) so the same metrics aren't billed twice.- Daily metrics (S3) auto-throttled to hourly, and the CloudWatch fetch window now tracks the poll interval so wider intervals stay gapless.
History
- Long-range history for every source — CloudWatch from the CloudWatch API, and k8s / agent / native from the persisted SQLite store (downsampled for wide ranges). Time ranges are now 12h / 24h / 3d / 7d; default DB retention raised to 7d.
Dashboard
- Drag-to-zoom on charts and the maximize modal: drag a segment to zoom in, double-click to reset. Zooming re-fetches that slice at finer resolution. Accessible selection styling.
- Header shows a meaningful " series · updated " liveness readout.
Install
- Docker:
docker pull ghcr.io/tools-plus/frugal:v0.2.0(multi-arch amd64 + arm64) - Binary:
frugal-linux-amd64/frugal-linux-arm64attached below (+ sha256)
The dashboard has no external auth by default — keep it behind port-forward / VPN / an authenticating ingress.
v0.1.0 — first release
frugal is a single Go binary that gives you cheap AWS + EKS observability — it prefers free, native endpoints over paid CloudWatch, needs no Prometheus and no external database, and serves a live dashboard out of the box.
This first release covers the basic system and core collectors.
Two modes, one binary
frugal server— web dashboard + data collectors (default mode)frugal agent— pushes host metrics + logs from EC2 / EKS nodes to a server
Collectors
- CloudWatch — EC2, RDS, DocumentDB, ElastiCache, AmazonMQ, OpenSearch, S3, ALB, NLB, EKS control plane, Container Insights (auto-discovered via
ListMetrics, batchedGetMetricData) - Native free endpoints — Valkey/Redis
INFO, OpenSearch_cluster/health+_nodes/stats, RabbitMQ management API (auto-discovered from AWS APIs) - RDS Performance Insights — DB load / active sessions, free 7-day source
- EKS — live pod/node CPU + memory via metrics-server, plus streamed pod logs
- Host agent — CPU/memory/network/load from
/proc+ tailed logs, zero AWS API calls
Platform
- Live dashboard with SSE streaming (single embedded HTML file)
- Optional SQLite persistence (hydrates the in-memory stores on restart)
- Multi-user auth with admin/viewer + scoped, per-service roles
- Runtime config edited in Admin ▸ Settings, stored encrypted, hot-applied without restarting the web server
Install
- Docker:
docker pull ghcr.io/tools-plus/frugal:v0.1.0(multi-arch amd64 + arm64) - Binary:
frugal-linux-amd64/frugal-linux-arm64attached below (+ sha256)
The dashboard has no external auth by default — keep it behind port-forward / VPN / an authenticating ingress.