6 Commits

Author SHA1 Message Date
steffen 47399d894a Add platform-specific notes: ZFS memory, user systemd, group name quoting 2026-06-15 21:15:40 +02:00
steffen efe1fb9241 feat: add docker_container widget type 2026-06-15 20:23:43 +02:00
steffen dee78c3c08 docs: add server setup playbook (SETUP.md) 2026-06-15 20:16:26 +02:00
steffen 94e79becd8 feat: grouped server cards with progress bars and sparklines
- Agent sends group name (defaults to hostname) and richer metric notes
  (memory/disk include absolute GB values; CPU note includes system uptime)
- push() accepts group param; server stores it as agent_group on deployments
- Upsert key is now (company_id, agent_group, name) so two agents on the
  same company but different servers don't overwrite each other's CPU/Memory
- Add widget config packs: linux-base, web-nginx, database-postgres/redis,
  docker-host, custom-cmd examples
2026-06-15 20:07:55 +02:00
steffen f694a63518 use env vars for secrets (ETHICA_TOKEN/HOME/INTERVAL override config) 2026-06-15 19:44:21 +02:00
steffen 5c213972b6 initial: Ethica Agent v0.1.0
Lightweight telemetry agent (stdlib-only, Python 3.8+) that collects
metrics via pre-defined widget types and pushes to POST /api/company/metrics.

Widget types: system_cpu, system_memory, system_disk, http_check,
              port_check, process_check, custom_cmd

Platform: Linux (fully). Windows collectors stubbed (NOT_IMPL markers)
ready for porting without changing call sites. system_disk / http_check /
port_check / custom_cmd already cross-platform.

Delivery: run directly (python3 ethica-agent.py --config ethica-agent.yml),
as a systemd service (ethica-agent.service), or as a Docker container.
2026-06-15 19:30:55 +02:00