feat: Add Grafana auto-update & improve classifier

Add auto-update for Grafana on Synology via SSH + docker compose,
with review examples and a context.txt describing the specific setup
(Prometheus + Node Exporter, no plugins) so the classifier can
ignore plugin-only breaking changes.

The classifier now loads an optional context.txt per service to
tailor decisions to the actual deployment. It also truncates large
release notes intelligently, keeping important sections (breaking
changes, deprecations, migration notes) while dropping long PR
lists that add no signal.

test_classifier.py now also loads context.txt and accepts any
service name as argument.
This commit is contained in:
Jeena 2026-04-13 03:57:22 +00:00
parent 67a9509eaa
commit ea90b8569b
10 changed files with 185 additions and 1 deletions

View file

@ -0,0 +1,33 @@
# Grafana auto-update setup
Grafana runs in Docker on a Synology NAS (192.168.1.30) via Container Manager.
## Prerequisites
The auto-update script SSHes into the Synology and runs `docker compose pull && up -d`. For this to work without sudo, the SSH user needs to be in the `docker` group.
### One-time Synology setup
```bash
ssh jeena@192.168.1.30
sudo synogroup --add docker
sudo synogroup --memberadd docker jeena
sudo chown root:docker /var/run/docker.sock
exit
```
Log out and back in (new SSH session) for the group to take effect. This persists through DSM updates and reboots.
### Verify
```bash
ssh jeena@192.168.1.30 '/usr/local/bin/docker ps'
```
Should list containers without permission errors.
## Notes
- Docker is at `/usr/local/bin/docker` on Synology (not in PATH for non-interactive SSH)
- The compose project is at `/volume1/docker/monitoring/`
- `context.txt` tells the AI classifier this is a simple Prometheus + Node Exporter setup with no plugins, so plugin-only breaking changes are classified as auto