Database Connect
Database Connect adalah service database proxy RAGA, dibangun di atas Node.js + Express. Service ini menerima parameter koneksi database (host, port, user, password, nama database) lewat HTTP header di setiap request, meneruskan query SQL ke PostgreSQL atau MariaDB/MySQL, lalu mengembalikan hasilnya sebagai JSON.
Database Connect dipanggil oleh API Tarantula (env var DATABASE_CONNECT_URL) sebagai pelaksana query untuk fitur Text-to-SQL — query yang dihasilkan LLM dieksekusi lewat service ini terhadap database eksternal yang dikonfigurasi user di workspace.
Database Connect bersifat stateless — tidak ada konfigurasi database yang disimpan di service ini. Semua kredensial dikirim oleh caller di setiap request, tidak pernah dipersist.
Tech Stack
| Komponen | Teknologi |
|---|---|
| Runtime | Node.js 18 |
| Framework | Express 4 |
| PostgreSQL Client | pg (node-postgres) |
| MariaDB/MySQL Client | mariadb |
| API Docs | swagger-ui-express (/api-docs) |
Detail endpoint, header, dan normalisasi tipe data lengkap ada di halaman Teknis.
Cara Kerja Singkat
- Caller mengirim request dengan header
x-db-mode,x-db-host,x-db-port,x-db-user,x-db-password,x-db-name. - Database Connect membuat koneksi baru per-request (bukan connection pool) ke PostgreSQL atau MariaDB/MySQL sesuai
x-db-mode, dengan timeout 15 detik. - Query dijalankan (
GET /tablesuntuk skema,POST /executeuntuk query raw), hasilnya dinormalisasi (BigInt/Date/Buffer diubah ke tipe yang aman di-JSON-kan). - Koneksi ditutup segera setelah query selesai.
Ringkasan
Database Connect adalah jembatan tipis dan stateless antara Raga Engine dan database eksternal mana pun yang dikonfigurasi user — desainnya sengaja generik (menerima kredensial per-request, bukan konfigurasi tetap) supaya satu service ini bisa melayani banyak workspace dengan database berbeda-beda tanpa perlu deployment terpisah per koneksi.