Budi Setiawan
aa6ebf9057
docs: bootstrap infra repos and session handover for Mailcow, Ollama, Mikrotik
...
Add AI-Agent-Standards templates, Zammad/Mailcow dual-domain docs, Ollama and
Mikrotik VM audits with config backup, PC-Multimedia bootstrap, geonet-console
Zammad/AI chat integration, and workspace registry updates.
Co-authored-by: Cursor <cursoragent@cursor.com>
2 weeks ago
Budi Setiawan
d500db95b3
feat(api): PUT /me/avatar simpan foto profil sebagai base64 di ldap_user_meta
3 weeks ago
Budi Setiawan
ee89641250
feat(backend): perluas GET /me tambah display_name, email, groups, phone, domain
3 weeks ago
Budi Setiawan
8f72e74ec1
feat: CORS my.gisportal.id + token refresh endpoint untuk FE PWA
...
- nginx/geonet-console.conf: tambah CORS header /api/ untuk my.gisportal.id
- routes/api.php: POST /auth/refresh (throttle 30/menit)
- AuthController: method refresh() validate JWT lama, issue JWT baru
- LdapJwtService: expose groups di return validate()
- docapi: tambah refresh-token.md + update index.md
4 weeks ago
Budi Setiawan
dd7b3e6cec
feat: Service Tokens sync to geonetagent_dev.agent_tokens (Opsi C)
...
- 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.
4 weeks ago
Budi Setiawan
ece7b314a4
feat: implement Service Tokens for microservice Bearer token management
...
- Add migration: create service_tokens table (UUID PK, name, service, token_prefix, token_hash, is_active, expires_at, created_by, last_used_at)
- Add Model: ServiceToken with generate(), verify(), active/expired scopes
- Add Service: ServiceTokenService with full CRUD + audit log integration
- Add API Controller: GET/POST/DELETE /api/v1/service-tokens/* (9 endpoints)
- Update ApiClientController: add web actions (store/revoke/regenerate/delete)
- Update routes/api.php: register service token REST endpoints
- Update routes/web.php: register service token web routes
- Update api-clients/index.blade.php: add Create form + Service Tokens table with Regenerate/Revoke/Delete actions
- Update context-index.md: document Service Tokens architecture, schema, endpoints
- Update perintah.md: sync log
Zero impact on existing GeoNetAgent agents (separate geonetagent_dev database).
4 weeks ago
Budi Setiawan
e294b59a47
Initial commit: GeoNetAgent, LDAPWeb, server-audit, server-connection
...
Exclude ops, support, support-api, and workspace file via .gitignore.
Co-authored-by: Cursor <cursoragent@cursor.com>
1 month ago