- install.sh now clones from git instead of copying files
- Service runs git pull on restart for automatic updates
- Support config.local.json for production settings (gitignored)
- kao.py prefers config.local.json when present
To update production: push changes, then 'sudo systemctl restart kao'
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use SCRIPT_DIR to find source files from any directory
- Create venv as target user (sudo -u) for correct ownership
- Add python3 existence check
- Add source file existence check
- Add group to systemd service
- Fix uninstall.sh root check
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Port now set via config.json "port" field
- Aggregator reads PORT from environment variable
- Updated all docs and scripts to use port 5100
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- install.sh: Sets up /opt/kao with systemd service
- uninstall.sh: Clean removal
- Hide message when optimal (only show when something to report)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>