The monolithic check_updates.py has been split into the update_monitor/ package with separate modules for fetching, extraction, comparison, classification, and notification. This makes the codebase easier to navigate and test. The flat services.yaml is replaced by per-service directories under services/<name>/config.yaml, co-locating config with update scripts and AI review examples. When --auto-update is enabled, services with an auto-update.sh script get their release notes classified by a local Ollama model (using few-shot examples from review-examples/) to decide whether the update can be applied automatically or needs manual admin intervention. Results are reported in a single consolidated Matrix message. Immich is the first service with auto-update configured, using 7 real release note examples to train the classifier.
7 lines
319 B
Desktop File
7 lines
319 B
Desktop File
[Unit]
|
|
Description=Check hosted services for updates
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
WorkingDirectory=%h/Projects/service-update-alerts
|
|
ExecStart=%h/Projects/service-update-alerts/.venv/bin/python -m update_monitor --services %h/Projects/service-update-alerts/services --auto-update --classify-timeout 300 --script-timeout 300
|