
बस नोड्स और ग्राफ़
अपना इंफ्रास्ट्रक्चर देखें। बिना किसी कॉन्फ़िगरेशन के।
graph-go को अपने स्टैक पर इंगित करें और हर डेटाबेस, टेबल, सेवा, और स्टोरेज बकेट का एक लाइव, इंटरैक्टिव मानचित्र प्राप्त करें — वास्तविक समय की स्वास्थ्य निगरानी के साथ।
graph-go एक CLI-प्रथम इंफ्रास्ट्रक्चर मैपर है। यह डॉकर डेमॉन से कनेक्ट करके, चल रहे कंटेनरों का निरीक्षण करके, और डेटाबेस तथा स्टोरेज सेवाओं की जाँच करके आपके इंफ्रास्ट्रक्चर को स्वचालित रूप से खोजता है। UI बैकएंड द्वारा प्रदान किया जाता है और वास्तविक बैकएंड स्थिति को दर्शाता है — कोई मैन्युअल इन्वेंट्री आवश्यक नहीं है।
| क्षमता | विवरण |
|---|---|
| स्वचालित खोज | डॉकर कंटेनरों और Kubernetes क्लस्टरों से इंफ्रास्ट्रक्चर का पता लगाता है — कोई मैन्युअल इन्वेंट्री आवश्यक नहीं |
| Kubernetes | Namespaces, Deployments, StatefulSets, DaemonSets, Pods, Services — इन्फ़ॉर्मर-आधारित रीयल-टाइम वॉचिंग के साथ |
| Docker | चल रहे कंटेनरों को वर्गीकृत करता है, क्रेडेंशियल्स निकालता है, डॉकर इवेंट्स देखता है, टाइप/DSN/नोड-टाइप/नाम को ओवरराइड करने या कंटेनर को अनदेखा करने के लिए graphgo.* लेबल का सम्मान करता है |
| PostgreSQL | तालिकाएँ, विदेशी कुंजी संबंध, स्कीमा टोपोलॉजी |
| MongoDB | डेटाबेस और कलेक्शन |
| MySQL | तालिकाएँ, विदेशी कुंजी संबंध |
| Redis | कीस्पेस और कुंजी वितरण |
| Elasticsearch | इंडेक्स, क्लस्टर स्वास्थ्य, शार्ड स्थिति |
| S3 / MinIO | बकेट और शीर्ष-स्तरीय प्रीफ़िक्स |
| HTTP सेवाएँ | स्वास्थ्य एंडपॉइंट, सेवाओं के बीच डिपेंडेंसी मैपिंग |
| रीयल-टाइम स्वास्थ्य | WebSocket-संचालित लाइव स्थिति अपडेट हर 5 सेकंड में |
| इंटरैक्टिव ग्राफ़ | स्विमलेन लेआउट, नेमस्पेस ग्रुप कंटेनर, पैन/ज़ूम, टाइप/स्वास्थ्य द्वारा फ़िल्टर, नोड्स खोजें |
graph-go graphgo.* कंटेनर लेबलों के एक छोटे सेट को सम्मान देता है (उन्हें किसी भी कंटेनर पर सेट करें जिसे आप नियंत्रित करना चाहते हैं):
| लेबल | प्रभाव |
|---|---|
graphgo.ignore=true | इस कंटेनर को पूरी तरह से छोड़ दें |
graphgo.type=postgres | अडैप्टर प्रकार बलपूर्वक सेट करें (postgres, mongodb, mysql, redis, elasticsearch, s3, http) |
graphgo.dsn=... | एक कनेक्शन स्ट्रिंग इंजेक्ट करें (postgres/mysql के लिए DSN, mongodb के लिए URI, अन्यथा dsn पर वापस जाएँ) |
graphgo.node-type=gateway | दृश्य नोड प्रकार ओवरराइड करें (service, gateway, auth, api, queue, cache) |
graphgo.name=... | ग्राफ़ में दिखाए गए नोड नाम को ओवरराइड करें और नोड IDs/लॉग में उपयोग किया जाए |
गलत वर्गीकृत कंटेनरों को बचाने, graph-go को कस्टम DSN पर इंगित करने, या बिना हटाए कंटेनर को ग्राफ़ से छिपाने के लिए इनका उपयोग करें।
CLI के साथ सीडेड डेमो स्टैक को बूट करें। यह graph-go को यथार्थवादी वातावरण में देखने का सबसे तेज़ तरीका है और पहली बार उपयोगकर्ताओं के लिए अभिप्रेत ऑनबोर्डिंग पथ है:
git clone https://github.com/guilherme-grimm/graph-go.git
cd graph-go
go run ./cmd/app demo
http://localhost:8080 खोलें। कमांड Docker Compose के माध्यम से अटैच होकर चलता है। अटैच्ड सत्र को रोकने के लिए Ctrl+C दबाएँ।
ठंडी मशीन पर पहली बार चलने में कई मिनट लग सकते हैं क्योंकि Docker को बेस इमेज खींचने और स्थानीय डेमो इमेज बनाने की आवश्यकता हो सकती है। बाद की रन बहुत तेज़ होती हैं।
डेमो स्टैक को इन होस्ट पोर्ट्स के खाली होने की आवश्यकता है: 8080, 5432, 27017, 9000, और 9001।
यदि बाद में स्पष्ट टियरडाउन की आवश्यकता हो:
docker compose -f docker-compose.demo.yml down
एक कंटेनर, एक पोर्ट। डॉकर सॉकेट को केवल-पढ़ने के लिए माउंट करें और graph-go होस्ट पर चल रही हर चीज़ को स्वचालित रूप से खोज लेगा:
docker run -d -p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
ghcr.io/guilherme-grimm/graph-go:latest
graph-go केवल डॉकर सॉकेट से पढ़ता है।
:roफ़्लैग इसे लागू करता है — इसे रखें।
http://localhost:8080 खोलें। स्वचालित खोज डॉकर कंटेनरों और (जब क्यूबकॉन्फ़िग या इन-क्लस्टर सेवा खाता मौजूद हो) Kubernetes संसाधनों को बिना किसी कॉन्फ़िग फ़ाइल के संभालती है।
डॉकर/Kubernetes के बाहर रहने वाली सेवाओं (रिमोट डेटाबेस, प्रबंधित क्लाउड सेवाएँ) के लिए, एक कॉन्फ़िग फ़ाइल माउंट करें — कॉन्फ़िगरेशन देखें।
एकल स्व-निहित बाइनरी — UI एम्बेडेड है, लेकिन एंट्रीपॉइंट अभी भी CLI है।
# Linux amd64 (GitHub CLI की आवश्यकता है; अन्य प्लेटफ़ॉर्म के लिए Releases ब्राउज़ करें)
gh release download --repo guilherme-grimm/graph-go --pattern 'graph-go_*_linux_amd64.tar.gz' --clobber
tar xzf graph-go_*_linux_amd64.tar.gz
./graph-go serve # या सिर्फ `./graph-go` - एक ही बात
http://localhost:8080 खोलें। अन्य प्लेटफ़ॉर्म Releases पेज पर।
| कमांड | यह क्या करता है |
|---|---|
graph-go demo | रिपॉजिटरी से सीडेड Docker Compose डेमो स्टैक को बूट करें और इसका आउटपुट अग्रभूमि में स्ट्रीम करें। |
graph-go serve | स्वचालित खोज और लाइव अपडेट के साथ HTTP सर्वर शुरू करें (डिफ़ॉल्ट - बिना आर्ग्युमेंट के चलाने के समान)। |
graph-go scan | एक बार खोज चलाएँ और ग्राफ़ को stdout पर JSON के रूप में आउटपुट करें। jq में पाइप करने, CI जाँच, या एक-बार निर्यात के लिए उपयोगी। |
graph-go version | संस्करण, कमिट, और बिल्ड तिथि प्रिंट करें। |
graph-go --health-check | स्थानीय /health पर हिट करें और 0/1 के साथ बाहर निकलें। कंटेनर HEALTHCHECK द्वारा उपयोग किया जाता है; इंटरैक्टिव उपयोग के लिए नहीं। |
वैश्विक फ़्लैग (प्रत्येक उपकमांड पर लागू): --config, --log-level, --log-format। पूर्ण प्रति-कमांड सतह के लिए graph-go <command> --help देखें।
विशिष्ट प्रवाह:
graph-go demo।graph-go serve।graph-go scan।| पोर्ट | उद्देश्य |
|---|---|
8080 | graph-go (UI + API + WebSocket — उत्पादन) |
5173 | Vite डेव सर्वर (केवल विकास — CONTRIBUTING.md देखें) |
9001 | MinIO कंसोल (केवल डेमो स्टैक) |
स्वचालित खोज मार्ग है। डॉकर सॉकेट माउंट करें और/या Kubernetes क्लस्टर के अंदर चलाएँ — graph-go आपके इंफ्रास्ट्रक्चर को बिना किसी कॉन्फ़िग फ़ाइल की आवश्यकता के खोज लेता है।
YAML कॉन्फ़िग (conf/config.yaml) का उपयोग केवल उन सेवाओं के लिए एस्केप हैच के रूप में करें जो खोज के माध्यम से पहुँच योग्य नहीं हैं — रिमोट डेटाबेस, प्रबंधित क्लाउड सेवाएँ, बाहरी एंडपॉइंट। पूर्ण स्कीमा के लिए conf/config.sample.yaml देखें — प्रत्येक अडैप्टर और प्रत्येक कॉन्फ़िग ब्लॉक (server, docker, kubernetes, connections) के उदाहरण।
ऊपर दिए गए Docker रन के साथ कॉन्फ़िग फ़ाइल का उपयोग करने के लिए:
docker run -d -p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v $(pwd)/conf/config.yaml:/app/conf/config.yaml:ro \
ghcr.io/guilherme-grimm/graph-go:latest
केवल अधिकृत उपयोग: graph-go उस इंफ्रास्ट्रक्चर को विज़ुअलाइज़ करने के लिए है जिसके आप मालिक हैं या जिसे एक्सेस करने की अनुमति है। इसे अनधिकृत सिस्टम पर इंगित न करें।