Skip to content

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

KomponenTeknologi
RuntimeNode.js 18
FrameworkExpress 4
PostgreSQL Clientpg (node-postgres)
MariaDB/MySQL Clientmariadb
API Docsswagger-ui-express (/api-docs)

Detail endpoint, header, dan normalisasi tipe data lengkap ada di halaman Teknis.

Cara Kerja Singkat

  1. Caller mengirim request dengan header x-db-mode, x-db-host, x-db-port, x-db-user, x-db-password, x-db-name.
  2. Database Connect membuat koneksi baru per-request (bukan connection pool) ke PostgreSQL atau MariaDB/MySQL sesuai x-db-mode, dengan timeout 15 detik.
  3. Query dijalankan (GET /tables untuk skema, POST /execute untuk query raw), hasilnya dinormalisasi (BigInt/Date/Buffer diubah ke tipe yang aman di-JSON-kan).
  4. 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.