- Add AgentTokenSyncService: push create/revoke/delete to geonetagent_dev.agent_tokens
- Update ServiceTokenService: inject AgentTokenSyncService, sync on create/revoke/delete
- Add database connection 'geonetagent' to config/database.php
- Add GEONETAGENT_DB_* env vars to .env.example (username kosong = sync disabled)
- Update context-index.md: document sync architecture and flow
- Grant DELETE on agent_tokens to geonet_portal (applied on 10.100.1.25)
- Set geonet_portal password on DB server (stored in server .env only)
Alur: UI Create Token -> INSERT service_tokens (audit) + INSERT agent_tokens (validasi collector)
Fallback: jika GEONETAGENT_DB_USERNAME kosong, sync di-skip, geonet-console tetap jalan normal.
Refactor install/update into Agent-InstallCore, add GPO startup scripts,
GPU and disk model collection, DB migration 002, and collector UI updates.
Co-authored-by: Cursor <cursoragent@cursor.com>