
kviklet v0.8.0
डेटाबेस क्वेरीज़ के लिए पुल रिक्वेस्ट-जैसी समीक्षा/अनुमोदन प्रवाह। अनुपालनपूर्ण लेकिन सहज इंजीनियरिंग पहुँच के लिए उत्पादन में।
Kviklet
Kviklet.dev | रिलीज़ नोट्स | Discord
डेवलपर उत्पादकता को प्रभावित किए बिना प्रोडक्शन एनवायरनमेंट तक सुरक्षित पहुँच।

Kviklet (उच्चारण Quick-let) प्रोडक्शन डेटाबेस एक्सेस पर Four-Eyes Principle लागू करता है, जिसमें व्यक्तिगत SQL स्टेटमेंट या समय-सीमित डेटाबेस सत्रों के लिए pull request जैसी समीक्षा और अनुमोदन कार्यप्रवाह होता है। इंजीनियर हर क्वेरी को किसी DBA या ऑपरेशंस टीम के माध्यम से भेजे बिना एक-दूसरे के अनुरोधों की समीक्षा और अनुमोदन कर सकते हैं।
Kviklet स्व-होस्टेड है और एप्लिकेशन स्थिति के लिए PostgreSQL डेटाबेस के साथ एक Docker कंटेनर के रूप में चलता है। इसका वेब इंटरफ़ेस आपको अनुरोध सबमिट, समीक्षा और निष्पादित करने देता है। एक वैकल्पिक एंटरप्राइज़ लाइसेंस SAML प्रमाणीकरण, भूमिका-आधारित समीक्षा आवश्यकताएँ, भूमिका सिंक, API कुंजियाँ, डेटाबेस प्रॉक्सी और AI एजेंट्स के लिए MCP सर्वर अनलॉक करता है। kviklet.dev पर एंटरप्राइज़ लाइसेंस का अनुरोध करें।
समर्थित डेटाबेस हैं Postgres, MySQL, MariaDB, MS SQL Server और MongoDB।
एक्सेस मॉडल
हम Kviklet को आपके मौजूदा आइडेंटिटी प्रोवाइडर से जोड़ने की सलाह देते हैं। Kviklet OIDC (Google, Keycloak, आदि) या SAML (केवल एंटरप्राइज़) के माध्यम से SSO, तथा LDAP प्रमाणीकरण (Active Directory, आदि) का समर्थन करता है।
इसके बाद उपयोगकर्ता connections के लिए requests बनाते हैं जो किसी विशिष्ट डेटाबेस उपयोगकर्ता से मैप होते हैं। ये अनुरोध या तो:
- Single Query: समीक्षा के लिए सबमिट किया गया एक विशिष्ट SQL स्टेटमेंट।
- Temporary Access: एक समय-सीमित सत्र जिसमें आप कई स्टेटमेंट चला सकते हैं।
कॉन्फ़िगरेशन के आधार पर, Kviklet के निष्पादन की अनुमति देने से पहले अनुरोधों की समीक्षा और अनुमोदन अन्य उपयोगकर्ताओं द्वारा किया जाता है।
Kviklet उपयोगकर्ता की ओर से डेटाबेस से कनेक्ट होता है। कनेक्शन का डेटाबेस पासवर्ड उपयोगकर्ता को कभी नहीं दिखाया जाता।
एक एडमिन कॉन्फ़िगर कर सकता है कि किस भूमिका की किस कनेक्शन तक पहुँच है और निष्पादन के लिए कौन-से समीक्षा गेट आवश्यक हैं। डेटाबेस-स्तरीय पहुँच अंतर्निहित डेटाबेस के RBAC तंत्रों के माध्यम से प्रबंधित की जाती है। उदाहरण के लिए, read-only कनेक्शन के लिए read-only भूमिका बनाना संभव है और उसके लिए write कनेक्शन की तुलना में कम समीक्षा आवश्यकताएँ निर्धारित की जा सकती हैं।
Kviklet निष्पादित स्टेटमेंट रिकॉर्ड करता है और उन्हें उपयोगकर्ता और एक्सेस अनुरोध से जोड़ता है। मैन्युअल डेटाबेस एक्सेस की पूर्ण कवरेज के लिए, सीधे कनेक्शन प्रतिबंधित करें और किसी भी मैन्युअल एक्सेस को Kviklet के माध्यम से रूट करें। इंजीनियरों को अंतर्निहित डेटाबेस क्रेडेंशियल प्राप्त करने या साझा करने की आवश्यकता नहीं है।
अतिरिक्त एंटरप्राइज़ सुविधाओं में शामिल हैं:
- SAML: SAML प्रमाणीकरण के लिए समर्थन।
- Proxy (Postgres, MariaDB, MySQL): अस्थायी पासवर्ड के साथ स्वीकृत temporary-access सत्र के माध्यम से अपने पसंदीदा डेटाबेस क्लाइंट का उपयोग करें। निष्पादित स्टेटमेंट Kviklet के ऑडिट लॉग में रिकॉर्ड किए जाते हैं।
- Role-Based Review Gates: निष्पादन से पहले विशिष्ट भूमिकाओं से अनुमोदन आवश्यक करें।
- Role Sync: अपने आइडेंटिटी प्रोवाइडर समूहों से उपयोगकर्ता भूमिकाओं को स्वचालित रूप से सिंक करें।
- API Keys: Kviklet API तक प्रोग्रामेटिक पहुँच।
- MCP Server: Claude Code या Codex जैसे AI एजेंट्स को Kviklet से कनेक्ट करें। वे उपयोगकर्ता की अपनी अनुमतियों के साथ कार्य करते हैं और उन्हीं समीक्षाओं से गुज़रते हैं।
अधिक स्क्रीनशॉट
Requests
सभी डेटा अनुरोध एक ही स्थान पर रहते हैं। आपके प्रोडक्शन डेटाबेस के लिए खुले PRs की तरह:

Live Sessions
एक स्वीकृत temporary access अनुरोध सीधे ब्राउज़र में एक लाइव SQL सत्र खोलता है:

Audit log
प्रत्येक निष्पादित स्टेटमेंट रिकॉर्ड किया जाता है — चाहे वह समीक्षित single query के रूप में चला हो, लाइव सत्र में, या डेटाबेस प्रॉक्सी के माध्यम से:

डेटाबेस/कनेक्शन प्रकार के अनुसार सुविधा
अधिकांश सुविधाएँ सभी डेटाबेस के लिए उपलब्ध हैं (SSO, LDAP, RBAC, समीक्षा/स्वीकृति प्रवाह, ऑडिट लॉग, आदि)। लेकिन कुछ सुविधाएँ प्रतिबंधित हैं, या तो इसलिए कि उन्हें अभी तक बनाया नहीं गया है या क्योंकि वे उस विशिष्ट उद्देश्य के लिए अर्थहीन हैं। निम्नलिखित तालिका दिखाती है कि कौन-सी सुविधाएँ किस डेटाबेस प्रकार के लिए उपलब्ध हैं:
| डेटाबेस | स्टेटमेंट समीक्षा | अस्थायी पहुँच | प्रॉक्सी(बीटा) | एक्सप्लेन प्लान |
|---|---|---|---|---|
| Postgres | ✓ | ✓ | ✓ | ✓ |
| MySQL | ✓ | ✓ | ✓ | ✓ |
| MariaDB | ✓ | ✓ | ✓ | ✓ |
| SQL Server | ✓ | ✓ | ✗ | ✓ |
| MongoDB | ✓ | ✓ | ✗ | ✗ |
| Kubernetes | ✓ | ✗ | ✗ | ✗ |
सेटअप
Kviklet एक साधारण docker कंटेनर के रूप में उपलब्ध है।
उपलब्ध संस्करण आप Releases में पा सकते हैं। हम आपके द्वारा उपयोग किए जा रहे संस्करण को नियमित रूप से अपडेट करने की सलाह देते हैं क्योंकि हम नई सुविधाएँ बनाना जारी रखते हैं।
वर्तमान में नवीनतम ghcr.io/kviklet/kviklet:0.10.0 है, आप :main का भी उपयोग कर सकते हैं लेकिन कभी-कभी ऐसा हो सकता है कि हमने गलती से कुछ बगी मर्ज कर दिया हो। हालाँकि हम इससे बचने का प्रयास करते हैं।
त्वरित शुरुआत
यदि आप बस यह आज़माना चाहते हैं कि यह कैसे काम करता है:
-
यहाँ एक न्यूनतम docker-compose.yaml है:
compose सामग्री विस्तृत करने के लिए क्लिक करें
services: postgres: image: postgres:16 restart: always environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres ports: - "5432:5432" volumes: - ./postgres-data:/var/lib/postgresql/data # - ./sample_data.sql:/docker-entrypoint-initdb.d/init.sql kviklet-postgres: image: postgres:16 restart: always environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: kviklet ports: - "5433:5432" volumes: - ./kviklet-postgres-data:/var/lib/postgresql/data