style(config): auto-sync rules and mcp configuration
This commit is contained in:
parent
6b45ce7447
commit
08c36d863b
21 changed files with 2751 additions and 0 deletions
227
scripts/pve_mapper.py
Normal file
227
scripts/pve_mapper.py
Normal file
|
|
@ -0,0 +1,227 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# pve_mapper.py
|
||||||
|
# Frägt die Proxmox-Cluster-Infrastruktur sowie Docker-Container ab
|
||||||
|
# und generiert einen strukturierten digitalen Zwilling (JSON).
|
||||||
|
|
||||||
|
import json
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
HOST = "80.90.43.178"
|
||||||
|
SSH_KEY = os.path.expanduser("~/.ssh/id_rsa")
|
||||||
|
|
||||||
|
def run_ssh(host, command, user="root"):
|
||||||
|
"""Führt einen Befehl über SSH aus und gibt das Ergebnis zurück."""
|
||||||
|
ssh_cmd = [
|
||||||
|
"ssh",
|
||||||
|
"-i", SSH_KEY,
|
||||||
|
"-o", "StrictHostKeyChecking=no",
|
||||||
|
"-o", "UserKnownHostsFile=/dev/null",
|
||||||
|
f"{user}@{host}",
|
||||||
|
command
|
||||||
|
]
|
||||||
|
try:
|
||||||
|
res = subprocess.run(ssh_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, timeout=15)
|
||||||
|
if res.returncode == 0:
|
||||||
|
return res.stdout.strip()
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
except subprocess.TimeoutExpired:
|
||||||
|
return None
|
||||||
|
except Exception:
|
||||||
|
return None
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print("=== 1. Fräge Proxmox Cluster-Ressourcen ab ===")
|
||||||
|
pve_raw = run_ssh(HOST, "pvesh get /cluster/resources --output-format json")
|
||||||
|
if not pve_raw:
|
||||||
|
print("Fehler: Konnte keine Verbindung zum Proxmox-Host herstellen oder pvesh ausführen.")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
try:
|
||||||
|
resources = json.loads(pve_raw)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Fehler beim Parsen der Proxmox-Ressourcen: {e}")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
twin = {
|
||||||
|
"nodes": [],
|
||||||
|
"vms": [],
|
||||||
|
"lxcs": [],
|
||||||
|
"docker_hosts": {}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bekannte Docker-Hosts für tiefere Inspektion
|
||||||
|
known_docker_hosts = {
|
||||||
|
"80.90.43.178": "pve-host",
|
||||||
|
"10.190.20.10": "venus-traefik",
|
||||||
|
"10.190.20.50": "venus-rustdesk"
|
||||||
|
}
|
||||||
|
|
||||||
|
for res in resources:
|
||||||
|
res_type = res.get("type")
|
||||||
|
res_name = res.get("name")
|
||||||
|
res_node = res.get("node")
|
||||||
|
vmid = res.get("vmid")
|
||||||
|
status = res.get("status")
|
||||||
|
|
||||||
|
if res_type == "node":
|
||||||
|
twin["nodes"].append({
|
||||||
|
"name": res.get("node"),
|
||||||
|
"status": res.get("status"),
|
||||||
|
"cpu_cores": res.get("maxcpu"),
|
||||||
|
"memory_max_gb": round(res.get("maxmem", 0) / (1024**3), 2) if res.get("maxmem") else 0
|
||||||
|
})
|
||||||
|
continue
|
||||||
|
|
||||||
|
if res_type not in ["qemu", "lxc"]:
|
||||||
|
continue
|
||||||
|
|
||||||
|
item = {
|
||||||
|
"vmid": vmid,
|
||||||
|
"name": res_name,
|
||||||
|
"node": res_node,
|
||||||
|
"status": status,
|
||||||
|
"cpu_cores": res.get("maxcpu"),
|
||||||
|
"memory_max_gb": round(res.get("maxmem", 0) / (1024**3), 2) if res.get("maxmem") else 0,
|
||||||
|
"ips": []
|
||||||
|
}
|
||||||
|
|
||||||
|
if status == "running":
|
||||||
|
# IP-Adressen ermitteln
|
||||||
|
if res_type == "qemu":
|
||||||
|
ip_raw = run_ssh(HOST, f"pvesh get /nodes/{res_node}/qemu/{vmid}/agent/network-get-interfaces --output-format json")
|
||||||
|
if ip_raw:
|
||||||
|
try:
|
||||||
|
interfaces = json.loads(ip_raw).get("result", [])
|
||||||
|
for iface in interfaces:
|
||||||
|
for addr in iface.get("ip-addresses", []):
|
||||||
|
ip = addr.get("ip-address")
|
||||||
|
if ip and not ip.startswith("127.") and not ip.startswith("172.") and ":" not in ip:
|
||||||
|
item["ips"].append(ip)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
elif res_type == "lxc":
|
||||||
|
ip_raw = run_ssh(HOST, f"pvesh get /nodes/{res_node}/lxc/{vmid}/interfaces --output-format json")
|
||||||
|
if ip_raw:
|
||||||
|
try:
|
||||||
|
interfaces = json.loads(ip_raw)
|
||||||
|
for iface in interfaces:
|
||||||
|
for addr in iface.get("ip-addresses", []):
|
||||||
|
ip = addr.get("ip-address")
|
||||||
|
if ip and not ip.startswith("127.") and not ip.startswith("172.") and ":" not in ip:
|
||||||
|
item["ips"].append(ip)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if res_type == "qemu":
|
||||||
|
twin["vms"].append(item)
|
||||||
|
else:
|
||||||
|
twin["lxcs"].append(item)
|
||||||
|
|
||||||
|
print("=== 2. Fräge Docker-Container auf aktiven Hosts ab ===")
|
||||||
|
for ip, label in known_docker_hosts.items():
|
||||||
|
print(f"Inspektion von Docker-Host: {label} ({ip})")
|
||||||
|
# Port 22 oder ProxyJump-Auswertung
|
||||||
|
# PVE-Host direkt, VMs über SSH-Routing (das lokale ssh-config kümmert sich um das Proxy-Routing)
|
||||||
|
target = ip
|
||||||
|
if label == "pve-host":
|
||||||
|
docker_cmd = "docker ps --format '{{json .}}'"
|
||||||
|
else:
|
||||||
|
# Wir verwenden die in ~/.ssh/config definierten Host-Namen (venus-traefik, venus-rustdesk)
|
||||||
|
target = label
|
||||||
|
docker_cmd = "docker ps --format '{{json .}}'"
|
||||||
|
|
||||||
|
docker_raw = run_ssh(target, docker_cmd)
|
||||||
|
if docker_raw:
|
||||||
|
twin["docker_hosts"][label] = {
|
||||||
|
"ip": ip,
|
||||||
|
"containers": []
|
||||||
|
}
|
||||||
|
# Mehrere JSON-Objekte zeilenweise parsen
|
||||||
|
for line in docker_raw.split("\n"):
|
||||||
|
if not line.strip():
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
c = json.loads(line)
|
||||||
|
twin["docker_hosts"][label]["containers"].append({
|
||||||
|
"id": c.get("ID"),
|
||||||
|
"name": c.get("Names"),
|
||||||
|
"image": c.get("Image"),
|
||||||
|
"status": c.get("Status"),
|
||||||
|
"ports": c.get("Ports")
|
||||||
|
})
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Speicherpfad definieren
|
||||||
|
state_dir = "/Volumes/omv-150/MayaDO/Infrastruktur/agent-bootstrap/state"
|
||||||
|
os.makedirs(state_dir, exist_ok=True)
|
||||||
|
out_path = os.path.join(state_dir, "digital_twin.json")
|
||||||
|
|
||||||
|
with open(out_path, "w", encoding="utf-8") as f:
|
||||||
|
json.dump(twin, f, indent=2, ensure_ascii=False)
|
||||||
|
|
||||||
|
print(f"=== 3. Digitaler Zwilling erfolgreich geschrieben nach: {out_path} ===")
|
||||||
|
|
||||||
|
# Generiere Markdown-Zusammenfassung für Graphify
|
||||||
|
md_lines = [
|
||||||
|
"# Digitaler Zwilling: Proxmox & Docker Cluster-Topologie",
|
||||||
|
"",
|
||||||
|
"Dieses Dokument beschreibt die physische und virtuelle Infrastruktur von MayaDO.",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
|
||||||
|
md_lines.append("## Physische Cluster-Nodes")
|
||||||
|
for n in twin["nodes"]:
|
||||||
|
md_lines.append(f"### Node: {n['name']}")
|
||||||
|
md_lines.append(f"- **Status**: {n['status']}")
|
||||||
|
md_lines.append(f"- **CPU Kerne**: {n['cpu_cores']}")
|
||||||
|
md_lines.append(f"- **Maximaler Arbeitsspeicher**: {n['memory_max_gb']} GB")
|
||||||
|
md_lines.append("")
|
||||||
|
|
||||||
|
md_lines.append("## Virtuelle Maschinen (Qemu/VM)")
|
||||||
|
for vm in twin["vms"]:
|
||||||
|
md_lines.append(f"### VM {vm['vmid']}: {vm['name']}")
|
||||||
|
md_lines.append(f"- **Node**: {vm['node']}")
|
||||||
|
md_lines.append(f"- **Status**: {vm['status']}")
|
||||||
|
md_lines.append(f"- **CPU Kerne**: {vm['cpu_cores']}")
|
||||||
|
md_lines.append(f"- **RAM Limit**: {vm['memory_max_gb']} GB")
|
||||||
|
if vm["ips"]:
|
||||||
|
md_lines.append(f"- **IP-Adressen**: {', '.join(vm['ips'])}")
|
||||||
|
md_lines.append("")
|
||||||
|
|
||||||
|
md_lines.append("## LXC-Container")
|
||||||
|
for lxc in twin["lxcs"]:
|
||||||
|
md_lines.append(f"### LXC {lxc['vmid']}: {lxc['name']}")
|
||||||
|
md_lines.append(f"- **Node**: {lxc['node']}")
|
||||||
|
md_lines.append(f"- **Status**: {lxc['status']}")
|
||||||
|
md_lines.append(f"- **CPU Kerne**: {lxc['cpu_cores']}")
|
||||||
|
md_lines.append(f"- **RAM Limit**: {lxc['memory_max_gb']} GB")
|
||||||
|
if lxc["ips"]:
|
||||||
|
md_lines.append(f"- **IP-Adressen**: {', '.join(lxc['ips'])}")
|
||||||
|
md_lines.append("")
|
||||||
|
|
||||||
|
md_lines.append("## Docker-Dienste und -Container")
|
||||||
|
for host_label, host_info in twin["docker_hosts"].items():
|
||||||
|
md_lines.append(f"### Docker-Host: {host_label} (IP: {host_info['ip']})")
|
||||||
|
if not host_info["containers"]:
|
||||||
|
md_lines.append("- *Keine laufenden Container gefunden*")
|
||||||
|
for c in host_info["containers"]:
|
||||||
|
md_lines.append(f"#### Container: {c['name']}")
|
||||||
|
md_lines.append(f" - **ID**: `{c['id']}`")
|
||||||
|
md_lines.append(f" - **Image**: `{c['image']}`")
|
||||||
|
md_lines.append(f" - **Status**: {c['status']}")
|
||||||
|
if c['ports']:
|
||||||
|
md_lines.append(f" - **Ports**: `{c['ports']}`")
|
||||||
|
md_lines.append("")
|
||||||
|
|
||||||
|
md_path = os.path.join(state_dir, "digital_twin.md")
|
||||||
|
with open(md_path, "w", encoding="utf-8") as f:
|
||||||
|
f.write("\n".join(md_lines))
|
||||||
|
|
||||||
|
print(f"=== 4. Markdown-Zusammenfassung geschrieben nach: {md_path} ===")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
2
state/.graphifyignore
Normal file
2
state/.graphifyignore
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
digital_twin.json
|
||||||
|
*.json
|
||||||
282
state/digital_twin.json
Normal file
282
state/digital_twin.json
Normal file
|
|
@ -0,0 +1,282 @@
|
||||||
|
{
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"name": "pve-venus",
|
||||||
|
"status": "online",
|
||||||
|
"cpu_cores": 4,
|
||||||
|
"memory_max_gb": 15.45
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"vms": [
|
||||||
|
{
|
||||||
|
"vmid": 10190100,
|
||||||
|
"name": "Router190",
|
||||||
|
"node": "pve-venus",
|
||||||
|
"status": "running",
|
||||||
|
"cpu_cores": 1,
|
||||||
|
"memory_max_gb": 2.0,
|
||||||
|
"ips": [
|
||||||
|
"10.255.255.2",
|
||||||
|
"10.190.10.1",
|
||||||
|
"10.190.20.1",
|
||||||
|
"10.190.30.1",
|
||||||
|
"10.190.40.1",
|
||||||
|
"10.190.50.1",
|
||||||
|
"100.64.1.4"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"vmid": 10190129,
|
||||||
|
"name": "Traefik190-01",
|
||||||
|
"node": "pve-venus",
|
||||||
|
"status": "running",
|
||||||
|
"cpu_cores": 1,
|
||||||
|
"memory_max_gb": 1.0,
|
||||||
|
"ips": [
|
||||||
|
"10.190.20.10"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"vmid": 10190130,
|
||||||
|
"name": "fc190",
|
||||||
|
"node": "pve-venus",
|
||||||
|
"status": "running",
|
||||||
|
"cpu_cores": 1,
|
||||||
|
"memory_max_gb": 4.0,
|
||||||
|
"ips": [
|
||||||
|
"10.190.30.10"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"vmid": 10190150,
|
||||||
|
"name": "RustDesk-WWW",
|
||||||
|
"node": "pve-venus",
|
||||||
|
"status": "running",
|
||||||
|
"cpu_cores": 1,
|
||||||
|
"memory_max_gb": 4.0,
|
||||||
|
"ips": [
|
||||||
|
"10.190.20.50"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lxcs": [
|
||||||
|
{
|
||||||
|
"vmid": 10190120,
|
||||||
|
"name": "db19001200",
|
||||||
|
"node": "pve-venus",
|
||||||
|
"status": "running",
|
||||||
|
"cpu_cores": 1,
|
||||||
|
"memory_max_gb": 1.0,
|
||||||
|
"ips": [
|
||||||
|
"10.190.10.20"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"vmid": 10190121,
|
||||||
|
"name": "crawler19001210",
|
||||||
|
"node": "pve-venus",
|
||||||
|
"status": "running",
|
||||||
|
"cpu_cores": 1,
|
||||||
|
"memory_max_gb": 1.0,
|
||||||
|
"ips": [
|
||||||
|
"10.190.50.20"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"vmid": 10190180,
|
||||||
|
"name": "web19001180",
|
||||||
|
"node": "pve-venus",
|
||||||
|
"status": "running",
|
||||||
|
"cpu_cores": 1,
|
||||||
|
"memory_max_gb": 1.0,
|
||||||
|
"ips": [
|
||||||
|
"10.190.20.20"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"docker_hosts": {
|
||||||
|
"pve-host": {
|
||||||
|
"ip": "80.90.43.178",
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"id": "0b9d8273fb5b",
|
||||||
|
"name": "jmap-proxy",
|
||||||
|
"image": "jmap-proxy-jmap-proxy",
|
||||||
|
"status": "Up 21 minutes",
|
||||||
|
"ports": "0.0.0.0:20129->20129/tcp, [::]:20129->20129/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4e758b086b20",
|
||||||
|
"name": "agent-reach",
|
||||||
|
"image": "agent-reach-agent-reach",
|
||||||
|
"status": "Up 9 hours",
|
||||||
|
"ports": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "acc06fbb53f8",
|
||||||
|
"name": "omniroute",
|
||||||
|
"image": "omniroute-omniroute",
|
||||||
|
"status": "Up 21 minutes",
|
||||||
|
"ports": "0.0.0.0:20128->20128/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "534df33e6588",
|
||||||
|
"name": "phoenix_onboarding",
|
||||||
|
"image": "phoenix-onboarding",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:8090->80/tcp, [::]:8090->80/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1d414d575995",
|
||||||
|
"name": "ram_graph_general",
|
||||||
|
"image": "ram-graphs-deploy-ram-graph-general",
|
||||||
|
"status": "Up 8 days",
|
||||||
|
"ports": "0.0.0.0:8081->80/tcp, [::]:8081->80/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7f2a8ee43467",
|
||||||
|
"name": "ram_graph_sovereign",
|
||||||
|
"image": "ram-graphs-deploy-ram-graph-sovereign",
|
||||||
|
"status": "Up 8 days",
|
||||||
|
"ports": "0.0.0.0:8082->80/tcp, [::]:8082->80/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "5d98afbaf52d",
|
||||||
|
"name": "bernados_app",
|
||||||
|
"image": "bernados-app",
|
||||||
|
"status": "Up 3 weeks",
|
||||||
|
"ports": "0.0.0.0:80->5001/tcp, [::]:80->5001/tcp"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"venus-traefik": {
|
||||||
|
"ip": "10.190.20.10",
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"id": "514cdd54baa2",
|
||||||
|
"name": "traefik",
|
||||||
|
"image": "traefik:v3",
|
||||||
|
"status": "Up About an hour",
|
||||||
|
"ports": "0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f6cd66c87de1",
|
||||||
|
"name": "oauth2-proxy",
|
||||||
|
"image": "quay.io/oauth2-proxy/oauth2-proxy:v7.6.0",
|
||||||
|
"status": "Up 2 weeks",
|
||||||
|
"ports": "0.0.0.0:4180->4180/tcp, [::]:4180->4180/tcp"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"venus-rustdesk": {
|
||||||
|
"ip": "10.190.20.50",
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"id": "cb81a05e861d",
|
||||||
|
"name": "lp-manager-worker",
|
||||||
|
"image": "lp-manager-worker",
|
||||||
|
"status": "Up 46 hours",
|
||||||
|
"ports": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "9db022e0de8b",
|
||||||
|
"name": "lp-manager-app",
|
||||||
|
"image": "lp-manager-app",
|
||||||
|
"status": "Up 45 hours",
|
||||||
|
"ports": "0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e5d40a093981",
|
||||||
|
"name": "lp-onboarding-service",
|
||||||
|
"image": "lp-manager-onboarding",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:8026->8026/tcp, [::]:8026->8026/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bc9e663754d4",
|
||||||
|
"name": "dev-widget-nginx",
|
||||||
|
"image": "nginx:alpine",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:8025->80/tcp, [::]:8025->80/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "0a6a1ea97c9e",
|
||||||
|
"name": "lp-manager-ui-control",
|
||||||
|
"image": "lp-manager-ui-control",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:8020->8010/tcp, [::]:8020->8010/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "fe1c1068921c",
|
||||||
|
"name": "lp-manager-postgres-leads",
|
||||||
|
"image": "postgres:16-alpine",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:5433->5432/tcp, [::]:5433->5432/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c8446921b15a",
|
||||||
|
"name": "lp-manager-postgres-platform",
|
||||||
|
"image": "postgres:16-alpine",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:5432->5432/tcp, [::]:5432->5432/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1e0ed06280f5",
|
||||||
|
"name": "lp-manager-minio",
|
||||||
|
"image": "minio/minio:latest",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "921ad465ed8e",
|
||||||
|
"name": "forgejo",
|
||||||
|
"image": "codeberg.org/forgejo/forgejo:8",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:2222->22/tcp, [::]:2222->22/tcp, 0.0.0.0:8095->3000/tcp, [::]:8095->3000/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7261dfe38d83",
|
||||||
|
"name": "space-agent-ui",
|
||||||
|
"image": "space-agent-image:latest",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "244da8aba77d",
|
||||||
|
"name": "lp-manager-redis",
|
||||||
|
"image": "redis:7-alpine",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d3d8ed3bd56f",
|
||||||
|
"name": "quotes-app",
|
||||||
|
"image": "infisical/infisical:latest",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "443/tcp, 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "5fa5fd299d0c",
|
||||||
|
"name": "quotes-db",
|
||||||
|
"image": "postgres:15-alpine",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "5432/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "078f16f124d0",
|
||||||
|
"name": "quotes-cache",
|
||||||
|
"image": "redis:7-alpine",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "6379/tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "fa2b6c8fc25f",
|
||||||
|
"name": "fti-app",
|
||||||
|
"image": "mcp-registry-policy-fti-app",
|
||||||
|
"status": "Up 6 days",
|
||||||
|
"ports": "0.0.0.0:3030->3030/tcp, [::]:3030->3030/tcp"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
206
state/digital_twin.md
Normal file
206
state/digital_twin.md
Normal file
|
|
@ -0,0 +1,206 @@
|
||||||
|
# Digitaler Zwilling: Proxmox & Docker Cluster-Topologie
|
||||||
|
|
||||||
|
Dieses Dokument beschreibt die physische und virtuelle Infrastruktur von MayaDO.
|
||||||
|
|
||||||
|
## Physische Cluster-Nodes
|
||||||
|
### Node: pve-venus
|
||||||
|
- **Status**: online
|
||||||
|
- **CPU Kerne**: 4
|
||||||
|
- **Maximaler Arbeitsspeicher**: 15.45 GB
|
||||||
|
|
||||||
|
## Virtuelle Maschinen (Qemu/VM)
|
||||||
|
### VM 10190100: Router190
|
||||||
|
- **Node**: pve-venus
|
||||||
|
- **Status**: running
|
||||||
|
- **CPU Kerne**: 1
|
||||||
|
- **RAM Limit**: 2.0 GB
|
||||||
|
- **IP-Adressen**: 10.255.255.2, 10.190.10.1, 10.190.20.1, 10.190.30.1, 10.190.40.1, 10.190.50.1, 100.64.1.4
|
||||||
|
|
||||||
|
### VM 10190129: Traefik190-01
|
||||||
|
- **Node**: pve-venus
|
||||||
|
- **Status**: running
|
||||||
|
- **CPU Kerne**: 1
|
||||||
|
- **RAM Limit**: 1.0 GB
|
||||||
|
- **IP-Adressen**: 10.190.20.10
|
||||||
|
|
||||||
|
### VM 10190130: fc190
|
||||||
|
- **Node**: pve-venus
|
||||||
|
- **Status**: running
|
||||||
|
- **CPU Kerne**: 1
|
||||||
|
- **RAM Limit**: 4.0 GB
|
||||||
|
- **IP-Adressen**: 10.190.30.10
|
||||||
|
|
||||||
|
### VM 10190150: RustDesk-WWW
|
||||||
|
- **Node**: pve-venus
|
||||||
|
- **Status**: running
|
||||||
|
- **CPU Kerne**: 1
|
||||||
|
- **RAM Limit**: 4.0 GB
|
||||||
|
- **IP-Adressen**: 10.190.20.50
|
||||||
|
|
||||||
|
## LXC-Container
|
||||||
|
### LXC 10190120: db19001200
|
||||||
|
- **Node**: pve-venus
|
||||||
|
- **Status**: running
|
||||||
|
- **CPU Kerne**: 1
|
||||||
|
- **RAM Limit**: 1.0 GB
|
||||||
|
- **IP-Adressen**: 10.190.10.20
|
||||||
|
|
||||||
|
### LXC 10190121: crawler19001210
|
||||||
|
- **Node**: pve-venus
|
||||||
|
- **Status**: running
|
||||||
|
- **CPU Kerne**: 1
|
||||||
|
- **RAM Limit**: 1.0 GB
|
||||||
|
- **IP-Adressen**: 10.190.50.20
|
||||||
|
|
||||||
|
### LXC 10190180: web19001180
|
||||||
|
- **Node**: pve-venus
|
||||||
|
- **Status**: running
|
||||||
|
- **CPU Kerne**: 1
|
||||||
|
- **RAM Limit**: 1.0 GB
|
||||||
|
- **IP-Adressen**: 10.190.20.20
|
||||||
|
|
||||||
|
## Docker-Dienste und -Container
|
||||||
|
### Docker-Host: pve-host (IP: 80.90.43.178)
|
||||||
|
#### Container: jmap-proxy
|
||||||
|
- **ID**: `0b9d8273fb5b`
|
||||||
|
- **Image**: `jmap-proxy-jmap-proxy`
|
||||||
|
- **Status**: Up 21 minutes
|
||||||
|
- **Ports**: `0.0.0.0:20129->20129/tcp, [::]:20129->20129/tcp`
|
||||||
|
|
||||||
|
#### Container: agent-reach
|
||||||
|
- **ID**: `4e758b086b20`
|
||||||
|
- **Image**: `agent-reach-agent-reach`
|
||||||
|
- **Status**: Up 9 hours
|
||||||
|
|
||||||
|
#### Container: omniroute
|
||||||
|
- **ID**: `acc06fbb53f8`
|
||||||
|
- **Image**: `omniroute-omniroute`
|
||||||
|
- **Status**: Up 21 minutes
|
||||||
|
- **Ports**: `0.0.0.0:20128->20128/tcp`
|
||||||
|
|
||||||
|
#### Container: phoenix_onboarding
|
||||||
|
- **ID**: `534df33e6588`
|
||||||
|
- **Image**: `phoenix-onboarding`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:8090->80/tcp, [::]:8090->80/tcp`
|
||||||
|
|
||||||
|
#### Container: ram_graph_general
|
||||||
|
- **ID**: `1d414d575995`
|
||||||
|
- **Image**: `ram-graphs-deploy-ram-graph-general`
|
||||||
|
- **Status**: Up 8 days
|
||||||
|
- **Ports**: `0.0.0.0:8081->80/tcp, [::]:8081->80/tcp`
|
||||||
|
|
||||||
|
#### Container: ram_graph_sovereign
|
||||||
|
- **ID**: `7f2a8ee43467`
|
||||||
|
- **Image**: `ram-graphs-deploy-ram-graph-sovereign`
|
||||||
|
- **Status**: Up 8 days
|
||||||
|
- **Ports**: `0.0.0.0:8082->80/tcp, [::]:8082->80/tcp`
|
||||||
|
|
||||||
|
#### Container: bernados_app
|
||||||
|
- **ID**: `5d98afbaf52d`
|
||||||
|
- **Image**: `bernados-app`
|
||||||
|
- **Status**: Up 3 weeks
|
||||||
|
- **Ports**: `0.0.0.0:80->5001/tcp, [::]:80->5001/tcp`
|
||||||
|
|
||||||
|
### Docker-Host: venus-traefik (IP: 10.190.20.10)
|
||||||
|
#### Container: traefik
|
||||||
|
- **ID**: `514cdd54baa2`
|
||||||
|
- **Image**: `traefik:v3`
|
||||||
|
- **Status**: Up About an hour
|
||||||
|
- **Ports**: `0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp`
|
||||||
|
|
||||||
|
#### Container: oauth2-proxy
|
||||||
|
- **ID**: `f6cd66c87de1`
|
||||||
|
- **Image**: `quay.io/oauth2-proxy/oauth2-proxy:v7.6.0`
|
||||||
|
- **Status**: Up 2 weeks
|
||||||
|
- **Ports**: `0.0.0.0:4180->4180/tcp, [::]:4180->4180/tcp`
|
||||||
|
|
||||||
|
### Docker-Host: venus-rustdesk (IP: 10.190.20.50)
|
||||||
|
#### Container: lp-manager-worker
|
||||||
|
- **ID**: `cb81a05e861d`
|
||||||
|
- **Image**: `lp-manager-worker`
|
||||||
|
- **Status**: Up 46 hours
|
||||||
|
|
||||||
|
#### Container: lp-manager-app
|
||||||
|
- **ID**: `9db022e0de8b`
|
||||||
|
- **Image**: `lp-manager-app`
|
||||||
|
- **Status**: Up 45 hours
|
||||||
|
- **Ports**: `0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp`
|
||||||
|
|
||||||
|
#### Container: lp-onboarding-service
|
||||||
|
- **ID**: `e5d40a093981`
|
||||||
|
- **Image**: `lp-manager-onboarding`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:8026->8026/tcp, [::]:8026->8026/tcp`
|
||||||
|
|
||||||
|
#### Container: dev-widget-nginx
|
||||||
|
- **ID**: `bc9e663754d4`
|
||||||
|
- **Image**: `nginx:alpine`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:8025->80/tcp, [::]:8025->80/tcp`
|
||||||
|
|
||||||
|
#### Container: lp-manager-ui-control
|
||||||
|
- **ID**: `0a6a1ea97c9e`
|
||||||
|
- **Image**: `lp-manager-ui-control`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:8020->8010/tcp, [::]:8020->8010/tcp`
|
||||||
|
|
||||||
|
#### Container: lp-manager-postgres-leads
|
||||||
|
- **ID**: `fe1c1068921c`
|
||||||
|
- **Image**: `postgres:16-alpine`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:5433->5432/tcp, [::]:5433->5432/tcp`
|
||||||
|
|
||||||
|
#### Container: lp-manager-postgres-platform
|
||||||
|
- **ID**: `c8446921b15a`
|
||||||
|
- **Image**: `postgres:16-alpine`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:5432->5432/tcp, [::]:5432->5432/tcp`
|
||||||
|
|
||||||
|
#### Container: lp-manager-minio
|
||||||
|
- **ID**: `1e0ed06280f5`
|
||||||
|
- **Image**: `minio/minio:latest`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp`
|
||||||
|
|
||||||
|
#### Container: forgejo
|
||||||
|
- **ID**: `921ad465ed8e`
|
||||||
|
- **Image**: `codeberg.org/forgejo/forgejo:8`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:2222->22/tcp, [::]:2222->22/tcp, 0.0.0.0:8095->3000/tcp, [::]:8095->3000/tcp`
|
||||||
|
|
||||||
|
#### Container: space-agent-ui
|
||||||
|
- **ID**: `7261dfe38d83`
|
||||||
|
- **Image**: `space-agent-image:latest`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp`
|
||||||
|
|
||||||
|
#### Container: lp-manager-redis
|
||||||
|
- **ID**: `244da8aba77d`
|
||||||
|
- **Image**: `redis:7-alpine`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp`
|
||||||
|
|
||||||
|
#### Container: quotes-app
|
||||||
|
- **ID**: `d3d8ed3bd56f`
|
||||||
|
- **Image**: `infisical/infisical:latest`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `443/tcp, 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp`
|
||||||
|
|
||||||
|
#### Container: quotes-db
|
||||||
|
- **ID**: `5fa5fd299d0c`
|
||||||
|
- **Image**: `postgres:15-alpine`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `5432/tcp`
|
||||||
|
|
||||||
|
#### Container: quotes-cache
|
||||||
|
- **ID**: `078f16f124d0`
|
||||||
|
- **Image**: `redis:7-alpine`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `6379/tcp`
|
||||||
|
|
||||||
|
#### Container: fti-app
|
||||||
|
- **ID**: `fa2b6c8fc25f`
|
||||||
|
- **Image**: `mcp-registry-policy-fti-app`
|
||||||
|
- **Status**: Up 6 days
|
||||||
|
- **Ports**: `0.0.0.0:3030->3030/tcp, [::]:3030->3030/tcp`
|
||||||
159
state/graphify-out/.graphify_analysis.json
Normal file
159
state/graphify-out/.graphify_analysis.json
Normal file
|
|
@ -0,0 +1,159 @@
|
||||||
|
{
|
||||||
|
"communities": {
|
||||||
|
"0": [
|
||||||
|
"digital_twin_dev_widget_nginx",
|
||||||
|
"digital_twin_forgejo",
|
||||||
|
"digital_twin_fti_app",
|
||||||
|
"digital_twin_lp_manager_app",
|
||||||
|
"digital_twin_lp_manager_minio",
|
||||||
|
"digital_twin_lp_manager_postgres_leads",
|
||||||
|
"digital_twin_lp_manager_postgres_platform",
|
||||||
|
"digital_twin_lp_manager_redis",
|
||||||
|
"digital_twin_lp_manager_ui_control",
|
||||||
|
"digital_twin_lp_manager_worker",
|
||||||
|
"digital_twin_lp_onboarding_service",
|
||||||
|
"digital_twin_quotes_app",
|
||||||
|
"digital_twin_quotes_db",
|
||||||
|
"digital_twin_space_agent_ui",
|
||||||
|
"digital_twin_venus_rustdesk"
|
||||||
|
],
|
||||||
|
"1": [
|
||||||
|
"digital_twin_agent_reach",
|
||||||
|
"digital_twin_bernados_app",
|
||||||
|
"digital_twin_jmap_proxy",
|
||||||
|
"digital_twin_omniroute",
|
||||||
|
"digital_twin_phoenix_onboarding",
|
||||||
|
"digital_twin_pve_host",
|
||||||
|
"digital_twin_ram_graph_general",
|
||||||
|
"digital_twin_ram_graph_sovereign"
|
||||||
|
],
|
||||||
|
"2": [
|
||||||
|
"digital_twin_crawler19001210",
|
||||||
|
"digital_twin_db19001200",
|
||||||
|
"digital_twin_fc190",
|
||||||
|
"digital_twin_pve_venus",
|
||||||
|
"digital_twin_router190",
|
||||||
|
"digital_twin_rustdesk_www",
|
||||||
|
"digital_twin_web19001180"
|
||||||
|
],
|
||||||
|
"3": [
|
||||||
|
"digital_twin_oauth2_proxy",
|
||||||
|
"digital_twin_traefik",
|
||||||
|
"digital_twin_traefik190_01",
|
||||||
|
"digital_twin_venus_traefik"
|
||||||
|
],
|
||||||
|
"4": [
|
||||||
|
"digital_twin"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cohesion": {
|
||||||
|
"0": 0.13333333333333333,
|
||||||
|
"1": 0.25,
|
||||||
|
"2": 0.2857142857142857,
|
||||||
|
"3": 0.5,
|
||||||
|
"4": 1.0
|
||||||
|
},
|
||||||
|
"gods": [
|
||||||
|
{
|
||||||
|
"id": "digital_twin_venus_rustdesk",
|
||||||
|
"label": "Docker-Host: venus-rustdesk",
|
||||||
|
"degree": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_pve_venus",
|
||||||
|
"label": "Node: pve-venus",
|
||||||
|
"degree": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_pve_host",
|
||||||
|
"label": "Docker-Host: pve-host",
|
||||||
|
"degree": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_venus_traefik",
|
||||||
|
"label": "Docker-Host: venus-traefik",
|
||||||
|
"degree": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_traefik190_01",
|
||||||
|
"label": "VM 10190129: Traefik190-01",
|
||||||
|
"degree": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_rustdesk_www",
|
||||||
|
"label": "VM 10190150: RustDesk-WWW",
|
||||||
|
"degree": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_router190",
|
||||||
|
"label": "VM 10190100: Router190",
|
||||||
|
"degree": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_fc190",
|
||||||
|
"label": "VM 10190130: fc190",
|
||||||
|
"degree": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_db19001200",
|
||||||
|
"label": "LXC 10190120: db19001200",
|
||||||
|
"degree": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_crawler19001210",
|
||||||
|
"label": "LXC 10190121: crawler19001210",
|
||||||
|
"degree": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"surprises": [
|
||||||
|
{
|
||||||
|
"source": "Docker-Host: venus-rustdesk",
|
||||||
|
"target": "VM 10190150: RustDesk-WWW",
|
||||||
|
"source_files": [
|
||||||
|
"digital_twin.md",
|
||||||
|
"digital_twin.md"
|
||||||
|
],
|
||||||
|
"confidence": "INFERRED",
|
||||||
|
"relation": "runs_on",
|
||||||
|
"note": "Bridges community 2 → community 0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "VM 10190129: Traefik190-01",
|
||||||
|
"target": "Node: pve-venus",
|
||||||
|
"source_files": [
|
||||||
|
"digital_twin.md",
|
||||||
|
"digital_twin.md"
|
||||||
|
],
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"relation": "runs_on",
|
||||||
|
"note": "Bridges community 2 → community 3"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"questions": [
|
||||||
|
{
|
||||||
|
"type": "bridge_node",
|
||||||
|
"question": "Why does `Docker-Host: venus-rustdesk` connect `Docker-Host: venus-rustdesk` to `Node: pve-venus`?",
|
||||||
|
"why": "High betweenness centrality (0.437) - this node is a cross-community bridge."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bridge_node",
|
||||||
|
"question": "Why does `Node: pve-venus` connect `Node: pve-venus` to `Docker-Host: venus-traefik`?",
|
||||||
|
"why": "High betweenness centrality (0.310) - this node is a cross-community bridge."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bridge_node",
|
||||||
|
"question": "Why does `VM 10190150: RustDesk-WWW` connect `Node: pve-venus` to `Docker-Host: venus-rustdesk`?",
|
||||||
|
"why": "High betweenness centrality (0.267) - this node is a cross-community bridge."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "isolated_nodes",
|
||||||
|
"question": "What connects `Digitaler Zwilling: Proxmox & Docker Cluster-Topologie`, `VM 10190100: Router190`, `VM 10190130: fc190` to the rest of the system?",
|
||||||
|
"why": "29 weakly-connected nodes found - possible documentation gaps or missing edges."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "low_cohesion",
|
||||||
|
"question": "Should `Docker-Host: venus-rustdesk` be split into smaller, more focused modules?",
|
||||||
|
"why": "Cohesion score 0.13333333333333333 - nodes in this community are weakly interconnected."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
1
state/graphify-out/.graphify_labels.json
Normal file
1
state/graphify-out/.graphify_labels.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"0": "Docker-Host: venus-rustdesk", "1": "Docker-Host: pve-host", "2": "Node: pve-venus", "3": "Docker-Host: venus-traefik", "4": "Digitaler Zwilling: Proxmox & Docker Cluster-Topologie"}
|
||||||
1
state/graphify-out/.graphify_labels.json.sig
Normal file
1
state/graphify-out/.graphify_labels.json.sig
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"0": "02d4b3e42c040002", "1": "30b3814779335f2f", "2": "f9fe4c149b0b3fe4", "3": "60296882db71693b", "4": "0d00146556ee1eaa"}
|
||||||
1
state/graphify-out/.graphify_root
Normal file
1
state/graphify-out/.graphify_root
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
/Volumes/omv-150/MayaDO/Infrastruktur/agent-bootstrap/state
|
||||||
1
state/graphify-out/.graphify_semantic_marker
Normal file
1
state/graphify-out/.graphify_semantic_marker
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"output_tokens": 4768}
|
||||||
159
state/graphify-out/2026-08-08/.graphify_analysis.json
Normal file
159
state/graphify-out/2026-08-08/.graphify_analysis.json
Normal file
|
|
@ -0,0 +1,159 @@
|
||||||
|
{
|
||||||
|
"communities": {
|
||||||
|
"0": [
|
||||||
|
"digital_twin_dev_widget_nginx",
|
||||||
|
"digital_twin_forgejo",
|
||||||
|
"digital_twin_fti_app",
|
||||||
|
"digital_twin_lp_manager_app",
|
||||||
|
"digital_twin_lp_manager_minio",
|
||||||
|
"digital_twin_lp_manager_postgres_leads",
|
||||||
|
"digital_twin_lp_manager_postgres_platform",
|
||||||
|
"digital_twin_lp_manager_redis",
|
||||||
|
"digital_twin_lp_manager_ui_control",
|
||||||
|
"digital_twin_lp_manager_worker",
|
||||||
|
"digital_twin_lp_onboarding_service",
|
||||||
|
"digital_twin_quotes_app",
|
||||||
|
"digital_twin_quotes_db",
|
||||||
|
"digital_twin_space_agent_ui",
|
||||||
|
"digital_twin_venus_rustdesk"
|
||||||
|
],
|
||||||
|
"1": [
|
||||||
|
"digital_twin_agent_reach",
|
||||||
|
"digital_twin_bernados_app",
|
||||||
|
"digital_twin_jmap_proxy",
|
||||||
|
"digital_twin_omniroute",
|
||||||
|
"digital_twin_phoenix_onboarding",
|
||||||
|
"digital_twin_pve_host",
|
||||||
|
"digital_twin_ram_graph_general",
|
||||||
|
"digital_twin_ram_graph_sovereign"
|
||||||
|
],
|
||||||
|
"2": [
|
||||||
|
"digital_twin_crawler19001210",
|
||||||
|
"digital_twin_db19001200",
|
||||||
|
"digital_twin_fc190",
|
||||||
|
"digital_twin_pve_venus",
|
||||||
|
"digital_twin_router190",
|
||||||
|
"digital_twin_rustdesk_www",
|
||||||
|
"digital_twin_web19001180"
|
||||||
|
],
|
||||||
|
"3": [
|
||||||
|
"digital_twin_oauth2_proxy",
|
||||||
|
"digital_twin_traefik",
|
||||||
|
"digital_twin_traefik190_01",
|
||||||
|
"digital_twin_venus_traefik"
|
||||||
|
],
|
||||||
|
"4": [
|
||||||
|
"digital_twin"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cohesion": {
|
||||||
|
"0": 0.13333333333333333,
|
||||||
|
"1": 0.25,
|
||||||
|
"2": 0.2857142857142857,
|
||||||
|
"3": 0.5,
|
||||||
|
"4": 1.0
|
||||||
|
},
|
||||||
|
"gods": [
|
||||||
|
{
|
||||||
|
"id": "digital_twin_venus_rustdesk",
|
||||||
|
"label": "Docker-Host: venus-rustdesk",
|
||||||
|
"degree": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_pve_venus",
|
||||||
|
"label": "Node: pve-venus",
|
||||||
|
"degree": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_pve_host",
|
||||||
|
"label": "Docker-Host: pve-host",
|
||||||
|
"degree": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_venus_traefik",
|
||||||
|
"label": "Docker-Host: venus-traefik",
|
||||||
|
"degree": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_traefik190_01",
|
||||||
|
"label": "VM 10190129: Traefik190-01",
|
||||||
|
"degree": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_rustdesk_www",
|
||||||
|
"label": "VM 10190150: RustDesk-WWW",
|
||||||
|
"degree": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_router190",
|
||||||
|
"label": "VM 10190100: Router190",
|
||||||
|
"degree": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_fc190",
|
||||||
|
"label": "VM 10190130: fc190",
|
||||||
|
"degree": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_db19001200",
|
||||||
|
"label": "LXC 10190120: db19001200",
|
||||||
|
"degree": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digital_twin_crawler19001210",
|
||||||
|
"label": "LXC 10190121: crawler19001210",
|
||||||
|
"degree": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"surprises": [
|
||||||
|
{
|
||||||
|
"source": "Docker-Host: venus-rustdesk",
|
||||||
|
"target": "VM 10190150: RustDesk-WWW",
|
||||||
|
"source_files": [
|
||||||
|
"digital_twin.md",
|
||||||
|
"digital_twin.md"
|
||||||
|
],
|
||||||
|
"confidence": "INFERRED",
|
||||||
|
"relation": "runs_on",
|
||||||
|
"note": "Bridges community 2 → community 0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "VM 10190129: Traefik190-01",
|
||||||
|
"target": "Node: pve-venus",
|
||||||
|
"source_files": [
|
||||||
|
"digital_twin.md",
|
||||||
|
"digital_twin.md"
|
||||||
|
],
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"relation": "runs_on",
|
||||||
|
"note": "Bridges community 2 → community 3"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"questions": [
|
||||||
|
{
|
||||||
|
"type": "bridge_node",
|
||||||
|
"question": "Why does `Docker-Host: venus-rustdesk` connect `Docker-Host: venus-rustdesk` to `Node: pve-venus`?",
|
||||||
|
"why": "High betweenness centrality (0.437) - this node is a cross-community bridge."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bridge_node",
|
||||||
|
"question": "Why does `Node: pve-venus` connect `Node: pve-venus` to `Docker-Host: venus-traefik`?",
|
||||||
|
"why": "High betweenness centrality (0.310) - this node is a cross-community bridge."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bridge_node",
|
||||||
|
"question": "Why does `VM 10190150: RustDesk-WWW` connect `Node: pve-venus` to `Docker-Host: venus-rustdesk`?",
|
||||||
|
"why": "High betweenness centrality (0.267) - this node is a cross-community bridge."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "isolated_nodes",
|
||||||
|
"question": "What connects `Digitaler Zwilling: Proxmox & Docker Cluster-Topologie`, `VM 10190100: Router190`, `VM 10190130: fc190` to the rest of the system?",
|
||||||
|
"why": "29 weakly-connected nodes found - possible documentation gaps or missing edges."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "low_cohesion",
|
||||||
|
"question": "Should `Docker-Host: venus-rustdesk` be split into smaller, more focused modules?",
|
||||||
|
"why": "Cohesion score 0.13333333333333333 - nodes in this community are weakly interconnected."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
1
state/graphify-out/2026-08-08/.graphify_labels.json
Normal file
1
state/graphify-out/2026-08-08/.graphify_labels.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"0": "Docker-Host: venus-rustdesk", "1": "Docker-Host: pve-host", "2": "Node: pve-venus", "3": "Docker-Host: venus-traefik", "4": "Digitaler Zwilling: Proxmox & Docker Cluster-Topologie"}
|
||||||
1
state/graphify-out/2026-08-08/.graphify_semantic_marker
Normal file
1
state/graphify-out/2026-08-08/.graphify_semantic_marker
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"output_tokens": 4768}
|
||||||
71
state/graphify-out/2026-08-08/GRAPH_REPORT.md
Normal file
71
state/graphify-out/2026-08-08/GRAPH_REPORT.md
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Graph Report - /Volumes/omv-150/MayaDO/Infrastruktur/agent-bootstrap/state (2026-08-08)
|
||||||
|
|
||||||
|
## Corpus Check
|
||||||
|
- cluster-only mode — file stats not available
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
- 35 nodes · 32 edges · 5 communities (4 shown, 1 thin omitted)
|
||||||
|
- Extraction: 94% EXTRACTED · 6% INFERRED · 0% AMBIGUOUS · INFERRED: 2 edges (avg confidence: 0.8)
|
||||||
|
- Token cost: 0 input · 0 output
|
||||||
|
|
||||||
|
## Community Hubs (Navigation)
|
||||||
|
- Docker-Host: venus-rustdesk
|
||||||
|
- Docker-Host: pve-host
|
||||||
|
- Node: pve-venus
|
||||||
|
- Docker-Host: venus-traefik
|
||||||
|
- Digitaler Zwilling: Proxmox & Docker Cluster-Topologie
|
||||||
|
|
||||||
|
## God Nodes (most connected - your core abstractions)
|
||||||
|
1. `Docker-Host: venus-rustdesk` - 15 edges
|
||||||
|
2. `Node: pve-venus` - 7 edges
|
||||||
|
3. `Docker-Host: pve-host` - 7 edges
|
||||||
|
4. `Docker-Host: venus-traefik` - 3 edges
|
||||||
|
5. `VM 10190129: Traefik190-01` - 2 edges
|
||||||
|
6. `VM 10190150: RustDesk-WWW` - 2 edges
|
||||||
|
7. `VM 10190100: Router190` - 1 edges
|
||||||
|
8. `VM 10190130: fc190` - 1 edges
|
||||||
|
9. `LXC 10190120: db19001200` - 1 edges
|
||||||
|
10. `LXC 10190121: crawler19001210` - 1 edges
|
||||||
|
|
||||||
|
## Surprising Connections (you probably didn't know these)
|
||||||
|
- `Docker-Host: venus-rustdesk` --runs_on--> `VM 10190150: RustDesk-WWW` [INFERRED]
|
||||||
|
digital_twin.md → digital_twin.md _Bridges community 2 → community 0_
|
||||||
|
- `VM 10190129: Traefik190-01` --runs_on--> `Node: pve-venus` [EXTRACTED]
|
||||||
|
digital_twin.md → digital_twin.md _Bridges community 2 → community 3_
|
||||||
|
|
||||||
|
## Communities (5 total, 1 thin omitted)
|
||||||
|
|
||||||
|
### Community 0 - "Docker-Host: venus-rustdesk"
|
||||||
|
Cohesion: 0.13
|
||||||
|
Nodes (15): Container: dev-widget-nginx, Container: forgejo, Container: fti-app, Container: lp-manager-app, Container: lp-manager-minio, Container: lp-manager-postgres-leads, Container: lp-manager-postgres-platform, Container: lp-manager-redis (+7 more)
|
||||||
|
|
||||||
|
### Community 1 - "Docker-Host: pve-host"
|
||||||
|
Cohesion: 0.25
|
||||||
|
Nodes (8): Container: agent-reach, Container: bernados_app, Container: jmap-proxy, Container: omniroute, Container: phoenix_onboarding, Docker-Host: pve-host, Container: ram_graph_general, Container: ram_graph_sovereign
|
||||||
|
|
||||||
|
### Community 2 - "Node: pve-venus"
|
||||||
|
Cohesion: 0.29
|
||||||
|
Nodes (7): LXC 10190121: crawler19001210, LXC 10190120: db19001200, VM 10190130: fc190, Node: pve-venus, VM 10190100: Router190, VM 10190150: RustDesk-WWW, LXC 10190180: web19001180
|
||||||
|
|
||||||
|
### Community 3 - "Docker-Host: venus-traefik"
|
||||||
|
Cohesion: 0.50
|
||||||
|
Nodes (4): Container: oauth2-proxy, Container: traefik, VM 10190129: Traefik190-01, Docker-Host: venus-traefik
|
||||||
|
|
||||||
|
## Knowledge Gaps
|
||||||
|
- **29 isolated node(s):** `Digitaler Zwilling: Proxmox & Docker Cluster-Topologie`, `VM 10190100: Router190`, `VM 10190130: fc190`, `LXC 10190120: db19001200`, `LXC 10190121: crawler19001210` (+24 more)
|
||||||
|
These have ≤1 connection - possible missing edges or undocumented components.
|
||||||
|
- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||||
|
|
||||||
|
## Suggested Questions
|
||||||
|
_Questions this graph is uniquely positioned to answer:_
|
||||||
|
|
||||||
|
- **Why does `Docker-Host: venus-rustdesk` connect `Docker-Host: venus-rustdesk` to `Node: pve-venus`?**
|
||||||
|
_High betweenness centrality (0.437) - this node is a cross-community bridge._
|
||||||
|
- **Why does `Node: pve-venus` connect `Node: pve-venus` to `Docker-Host: venus-traefik`?**
|
||||||
|
_High betweenness centrality (0.310) - this node is a cross-community bridge._
|
||||||
|
- **Why does `VM 10190150: RustDesk-WWW` connect `Node: pve-venus` to `Docker-Host: venus-rustdesk`?**
|
||||||
|
_High betweenness centrality (0.267) - this node is a cross-community bridge._
|
||||||
|
- **What connects `Digitaler Zwilling: Proxmox & Docker Cluster-Topologie`, `VM 10190100: Router190`, `VM 10190130: fc190` to the rest of the system?**
|
||||||
|
_29 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||||
|
- **Should `Docker-Host: venus-rustdesk` be split into smaller, more focused modules?**
|
||||||
|
_Cohesion score 0.13333333333333333 - nodes in this community are weakly interconnected._
|
||||||
616
state/graphify-out/2026-08-08/graph.json
Normal file
616
state/graphify-out/2026-08-08/graph.json
Normal file
|
|
@ -0,0 +1,616 @@
|
||||||
|
{
|
||||||
|
"directed": false,
|
||||||
|
"multigraph": false,
|
||||||
|
"graph": {},
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"label": "Digitaler Zwilling: Proxmox & Docker Cluster-Topologie",
|
||||||
|
"file_type": "document",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 4,
|
||||||
|
"norm_label": "digitaler zwilling: proxmox & docker cluster-topologie",
|
||||||
|
"id": "digital_twin",
|
||||||
|
"community_name": "Digitaler Zwilling: Proxmox & Docker Cluster-Topologie"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Node: pve-venus",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "node: pve-venus",
|
||||||
|
"id": "digital_twin_pve_venus",
|
||||||
|
"community_name": "Node: pve-venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VM 10190100: Router190",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "vm 10190100: router190",
|
||||||
|
"id": "digital_twin_router190",
|
||||||
|
"community_name": "Node: pve-venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VM 10190129: Traefik190-01",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 3,
|
||||||
|
"norm_label": "vm 10190129: traefik190-01",
|
||||||
|
"id": "digital_twin_traefik190_01",
|
||||||
|
"community_name": "Docker-Host: venus-traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VM 10190130: fc190",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "vm 10190130: fc190",
|
||||||
|
"id": "digital_twin_fc190",
|
||||||
|
"community_name": "Node: pve-venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VM 10190150: RustDesk-WWW",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "vm 10190150: rustdesk-www",
|
||||||
|
"id": "digital_twin_rustdesk_www",
|
||||||
|
"community_name": "Node: pve-venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "LXC 10190120: db19001200",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "lxc 10190120: db19001200",
|
||||||
|
"id": "digital_twin_db19001200",
|
||||||
|
"community_name": "Node: pve-venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "LXC 10190121: crawler19001210",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "lxc 10190121: crawler19001210",
|
||||||
|
"id": "digital_twin_crawler19001210",
|
||||||
|
"community_name": "Node: pve-venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "LXC 10190180: web19001180",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "lxc 10190180: web19001180",
|
||||||
|
"id": "digital_twin_web19001180",
|
||||||
|
"community_name": "Node: pve-venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker-Host: pve-host",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "docker-host: pve-host",
|
||||||
|
"id": "digital_twin_pve_host",
|
||||||
|
"community_name": "Docker-Host: pve-host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: jmap-proxy",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: jmap-proxy",
|
||||||
|
"id": "digital_twin_jmap_proxy",
|
||||||
|
"community_name": "Docker-Host: pve-host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: agent-reach",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: agent-reach",
|
||||||
|
"id": "digital_twin_agent_reach",
|
||||||
|
"community_name": "Docker-Host: pve-host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: omniroute",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: omniroute",
|
||||||
|
"id": "digital_twin_omniroute",
|
||||||
|
"community_name": "Docker-Host: pve-host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: phoenix_onboarding",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: phoenix_onboarding",
|
||||||
|
"id": "digital_twin_phoenix_onboarding",
|
||||||
|
"community_name": "Docker-Host: pve-host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: ram_graph_general",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: ram_graph_general",
|
||||||
|
"id": "digital_twin_ram_graph_general",
|
||||||
|
"community_name": "Docker-Host: pve-host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: ram_graph_sovereign",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: ram_graph_sovereign",
|
||||||
|
"id": "digital_twin_ram_graph_sovereign",
|
||||||
|
"community_name": "Docker-Host: pve-host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: bernados_app",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: bernados_app",
|
||||||
|
"id": "digital_twin_bernados_app",
|
||||||
|
"community_name": "Docker-Host: pve-host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker-Host: venus-traefik",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 3,
|
||||||
|
"norm_label": "docker-host: venus-traefik",
|
||||||
|
"id": "digital_twin_venus_traefik",
|
||||||
|
"community_name": "Docker-Host: venus-traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: traefik",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 3,
|
||||||
|
"norm_label": "container: traefik",
|
||||||
|
"id": "digital_twin_traefik",
|
||||||
|
"community_name": "Docker-Host: venus-traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: oauth2-proxy",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 3,
|
||||||
|
"norm_label": "container: oauth2-proxy",
|
||||||
|
"id": "digital_twin_oauth2_proxy",
|
||||||
|
"community_name": "Docker-Host: venus-traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker-Host: venus-rustdesk",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "docker-host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_venus_rustdesk",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-worker",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-worker",
|
||||||
|
"id": "digital_twin_lp_manager_worker",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-app",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-app",
|
||||||
|
"id": "digital_twin_lp_manager_app",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-onboarding-service",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-onboarding-service",
|
||||||
|
"id": "digital_twin_lp_onboarding_service",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: dev-widget-nginx",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: dev-widget-nginx",
|
||||||
|
"id": "digital_twin_dev_widget_nginx",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-ui-control",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-ui-control",
|
||||||
|
"id": "digital_twin_lp_manager_ui_control",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-postgres-leads",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-postgres-leads",
|
||||||
|
"id": "digital_twin_lp_manager_postgres_leads",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-postgres-platform",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-postgres-platform",
|
||||||
|
"id": "digital_twin_lp_manager_postgres_platform",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-minio",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-minio",
|
||||||
|
"id": "digital_twin_lp_manager_minio",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: forgejo",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: forgejo",
|
||||||
|
"id": "digital_twin_forgejo",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: space-agent-ui",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: space-agent-ui",
|
||||||
|
"id": "digital_twin_space_agent_ui",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-redis",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-redis",
|
||||||
|
"id": "digital_twin_lp_manager_redis",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: quotes-app",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: quotes-app",
|
||||||
|
"id": "digital_twin_quotes_app",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: quotes-db",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: quotes-db",
|
||||||
|
"id": "digital_twin_quotes_db",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: fti-app",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: fti-app",
|
||||||
|
"id": "digital_twin_fti_app",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_crawler19001210",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_db19001200",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_fc190",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_router190",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_rustdesk_www",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_traefik190_01",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_web19001180",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "INFERRED",
|
||||||
|
"confidence_score": 0.8,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_venus_traefik",
|
||||||
|
"target": "digital_twin_traefik190_01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "INFERRED",
|
||||||
|
"confidence_score": 0.8,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_venus_rustdesk",
|
||||||
|
"target": "digital_twin_rustdesk_www"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_agent_reach",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_bernados_app",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_jmap_proxy",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_omniroute",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_phoenix_onboarding",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_ram_graph_general",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_ram_graph_sovereign",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_oauth2_proxy",
|
||||||
|
"target": "digital_twin_venus_traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_traefik",
|
||||||
|
"target": "digital_twin_venus_traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_dev_widget_nginx",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_forgejo",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_fti_app",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_app",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_minio",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_postgres_leads",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_postgres_platform",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_redis",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_ui_control",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_worker",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_onboarding_service",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_quotes_app",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_quotes_db",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_space_agent_ui",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hyperedges": []
|
||||||
|
}
|
||||||
7
state/graphify-out/2026-08-08/manifest.json
Normal file
7
state/graphify-out/2026-08-08/manifest.json
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"digital_twin.md": {
|
||||||
|
"mtime": 1786179392.3292885,
|
||||||
|
"ast_hash": "4cabb774622ad1285edd64b7ec788db3",
|
||||||
|
"semantic_hash": "4cabb774622ad1285edd64b7ec788db3"
|
||||||
|
}
|
||||||
|
}
|
||||||
71
state/graphify-out/GRAPH_REPORT.md
Normal file
71
state/graphify-out/GRAPH_REPORT.md
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Graph Report - /Volumes/omv-150/MayaDO/Infrastruktur/agent-bootstrap/state (2026-08-08)
|
||||||
|
|
||||||
|
## Corpus Check
|
||||||
|
- cluster-only mode — file stats not available
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
- 35 nodes · 32 edges · 5 communities (4 shown, 1 thin omitted)
|
||||||
|
- Extraction: 94% EXTRACTED · 6% INFERRED · 0% AMBIGUOUS · INFERRED: 2 edges (avg confidence: 0.8)
|
||||||
|
- Token cost: 0 input · 0 output
|
||||||
|
|
||||||
|
## Community Hubs (Navigation)
|
||||||
|
- Docker-Host: venus-rustdesk
|
||||||
|
- Docker-Host: pve-host
|
||||||
|
- Node: pve-venus
|
||||||
|
- Docker-Host: venus-traefik
|
||||||
|
- Digitaler Zwilling: Proxmox & Docker Cluster-Topologie
|
||||||
|
|
||||||
|
## God Nodes (most connected - your core abstractions)
|
||||||
|
1. `Docker-Host: venus-rustdesk` - 15 edges
|
||||||
|
2. `Node: pve-venus` - 7 edges
|
||||||
|
3. `Docker-Host: pve-host` - 7 edges
|
||||||
|
4. `Docker-Host: venus-traefik` - 3 edges
|
||||||
|
5. `VM 10190129: Traefik190-01` - 2 edges
|
||||||
|
6. `VM 10190150: RustDesk-WWW` - 2 edges
|
||||||
|
7. `VM 10190100: Router190` - 1 edges
|
||||||
|
8. `VM 10190130: fc190` - 1 edges
|
||||||
|
9. `LXC 10190120: db19001200` - 1 edges
|
||||||
|
10. `LXC 10190121: crawler19001210` - 1 edges
|
||||||
|
|
||||||
|
## Surprising Connections (you probably didn't know these)
|
||||||
|
- `Docker-Host: venus-rustdesk` --runs_on--> `VM 10190150: RustDesk-WWW` [INFERRED]
|
||||||
|
digital_twin.md → digital_twin.md _Bridges community 2 → community 0_
|
||||||
|
- `VM 10190129: Traefik190-01` --runs_on--> `Node: pve-venus` [EXTRACTED]
|
||||||
|
digital_twin.md → digital_twin.md _Bridges community 2 → community 3_
|
||||||
|
|
||||||
|
## Communities (5 total, 1 thin omitted)
|
||||||
|
|
||||||
|
### Community 0 - "Docker-Host: venus-rustdesk"
|
||||||
|
Cohesion: 0.13
|
||||||
|
Nodes (15): Container: dev-widget-nginx, Container: forgejo, Container: fti-app, Container: lp-manager-app, Container: lp-manager-minio, Container: lp-manager-postgres-leads, Container: lp-manager-postgres-platform, Container: lp-manager-redis (+7 more)
|
||||||
|
|
||||||
|
### Community 1 - "Docker-Host: pve-host"
|
||||||
|
Cohesion: 0.25
|
||||||
|
Nodes (8): Container: agent-reach, Container: bernados_app, Container: jmap-proxy, Container: omniroute, Container: phoenix_onboarding, Docker-Host: pve-host, Container: ram_graph_general, Container: ram_graph_sovereign
|
||||||
|
|
||||||
|
### Community 2 - "Node: pve-venus"
|
||||||
|
Cohesion: 0.29
|
||||||
|
Nodes (7): LXC 10190121: crawler19001210, LXC 10190120: db19001200, VM 10190130: fc190, Node: pve-venus, VM 10190100: Router190, VM 10190150: RustDesk-WWW, LXC 10190180: web19001180
|
||||||
|
|
||||||
|
### Community 3 - "Docker-Host: venus-traefik"
|
||||||
|
Cohesion: 0.50
|
||||||
|
Nodes (4): Container: oauth2-proxy, Container: traefik, VM 10190129: Traefik190-01, Docker-Host: venus-traefik
|
||||||
|
|
||||||
|
## Knowledge Gaps
|
||||||
|
- **29 isolated node(s):** `Digitaler Zwilling: Proxmox & Docker Cluster-Topologie`, `VM 10190100: Router190`, `VM 10190130: fc190`, `LXC 10190120: db19001200`, `LXC 10190121: crawler19001210` (+24 more)
|
||||||
|
These have ≤1 connection - possible missing edges or undocumented components.
|
||||||
|
- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||||
|
|
||||||
|
## Suggested Questions
|
||||||
|
_Questions this graph is uniquely positioned to answer:_
|
||||||
|
|
||||||
|
- **Why does `Docker-Host: venus-rustdesk` connect `Docker-Host: venus-rustdesk` to `Node: pve-venus`?**
|
||||||
|
_High betweenness centrality (0.437) - this node is a cross-community bridge._
|
||||||
|
- **Why does `Node: pve-venus` connect `Node: pve-venus` to `Docker-Host: venus-traefik`?**
|
||||||
|
_High betweenness centrality (0.310) - this node is a cross-community bridge._
|
||||||
|
- **Why does `VM 10190150: RustDesk-WWW` connect `Node: pve-venus` to `Docker-Host: venus-rustdesk`?**
|
||||||
|
_High betweenness centrality (0.267) - this node is a cross-community bridge._
|
||||||
|
- **What connects `Digitaler Zwilling: Proxmox & Docker Cluster-Topologie`, `VM 10190100: Router190`, `VM 10190130: fc190` to the rest of the system?**
|
||||||
|
_29 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||||
|
- **Should `Docker-Host: venus-rustdesk` be split into smaller, more focused modules?**
|
||||||
|
_Cohesion score 0.13333333333333333 - nodes in this community are weakly interconnected._
|
||||||
File diff suppressed because one or more lines are too long
1
state/graphify-out/cache/stat-index.json
vendored
Normal file
1
state/graphify-out/cache/stat-index.json
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"/Volumes/omv-150/MayaDO/Infrastruktur/agent-bootstrap/state/digital_twin.json":{"size":7633,"mtime_ns":1786179201467079100,"word_count":543,"hashes":{"digital_twin.json":"8f1c2341282db81db16bb3583628767c910ae57a3110a9d5be42e557fbffc84b"}},"/Volumes/omv-150/MayaDO/Infrastruktur/agent-bootstrap/state/digital_twin.md":{"size":6017,"mtime_ns":1786179392329288600,"word_count":649,"hashes":{"digital_twin.md":"f266a8238c8a2bd9f2559c4374e13e9910385c9dda6eaed985d0d769f23d3e32"}}}
|
||||||
320
state/graphify-out/graph.html
Normal file
320
state/graphify-out/graph.html
Normal file
File diff suppressed because one or more lines are too long
616
state/graphify-out/graph.json
Normal file
616
state/graphify-out/graph.json
Normal file
|
|
@ -0,0 +1,616 @@
|
||||||
|
{
|
||||||
|
"directed": false,
|
||||||
|
"multigraph": false,
|
||||||
|
"graph": {},
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"label": "Digitaler Zwilling: Proxmox & Docker Cluster-Topologie",
|
||||||
|
"file_type": "document",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 4,
|
||||||
|
"norm_label": "digitaler zwilling: proxmox & docker cluster-topologie",
|
||||||
|
"community_name": "Digitaler Zwilling: Proxmox & Docker Cluster-Topologie",
|
||||||
|
"id": "digital_twin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Node: pve-venus",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "node: pve-venus",
|
||||||
|
"community_name": "Node: pve-venus",
|
||||||
|
"id": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VM 10190100: Router190",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "vm 10190100: router190",
|
||||||
|
"community_name": "Node: pve-venus",
|
||||||
|
"id": "digital_twin_router190"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VM 10190129: Traefik190-01",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 3,
|
||||||
|
"norm_label": "vm 10190129: traefik190-01",
|
||||||
|
"community_name": "Docker-Host: venus-traefik",
|
||||||
|
"id": "digital_twin_traefik190_01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VM 10190130: fc190",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "vm 10190130: fc190",
|
||||||
|
"community_name": "Node: pve-venus",
|
||||||
|
"id": "digital_twin_fc190"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VM 10190150: RustDesk-WWW",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "vm 10190150: rustdesk-www",
|
||||||
|
"community_name": "Node: pve-venus",
|
||||||
|
"id": "digital_twin_rustdesk_www"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "LXC 10190120: db19001200",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "lxc 10190120: db19001200",
|
||||||
|
"community_name": "Node: pve-venus",
|
||||||
|
"id": "digital_twin_db19001200"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "LXC 10190121: crawler19001210",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "lxc 10190121: crawler19001210",
|
||||||
|
"community_name": "Node: pve-venus",
|
||||||
|
"id": "digital_twin_crawler19001210"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "LXC 10190180: web19001180",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 2,
|
||||||
|
"norm_label": "lxc 10190180: web19001180",
|
||||||
|
"community_name": "Node: pve-venus",
|
||||||
|
"id": "digital_twin_web19001180"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker-Host: pve-host",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "docker-host: pve-host",
|
||||||
|
"community_name": "Docker-Host: pve-host",
|
||||||
|
"id": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: jmap-proxy",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: jmap-proxy",
|
||||||
|
"community_name": "Docker-Host: pve-host",
|
||||||
|
"id": "digital_twin_jmap_proxy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: agent-reach",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: agent-reach",
|
||||||
|
"community_name": "Docker-Host: pve-host",
|
||||||
|
"id": "digital_twin_agent_reach"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: omniroute",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: omniroute",
|
||||||
|
"community_name": "Docker-Host: pve-host",
|
||||||
|
"id": "digital_twin_omniroute"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: phoenix_onboarding",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: phoenix_onboarding",
|
||||||
|
"community_name": "Docker-Host: pve-host",
|
||||||
|
"id": "digital_twin_phoenix_onboarding"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: ram_graph_general",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: ram_graph_general",
|
||||||
|
"community_name": "Docker-Host: pve-host",
|
||||||
|
"id": "digital_twin_ram_graph_general"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: ram_graph_sovereign",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: ram_graph_sovereign",
|
||||||
|
"community_name": "Docker-Host: pve-host",
|
||||||
|
"id": "digital_twin_ram_graph_sovereign"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: bernados_app",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 1,
|
||||||
|
"norm_label": "container: bernados_app",
|
||||||
|
"community_name": "Docker-Host: pve-host",
|
||||||
|
"id": "digital_twin_bernados_app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker-Host: venus-traefik",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 3,
|
||||||
|
"norm_label": "docker-host: venus-traefik",
|
||||||
|
"community_name": "Docker-Host: venus-traefik",
|
||||||
|
"id": "digital_twin_venus_traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: traefik",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 3,
|
||||||
|
"norm_label": "container: traefik",
|
||||||
|
"community_name": "Docker-Host: venus-traefik",
|
||||||
|
"id": "digital_twin_traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: oauth2-proxy",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 3,
|
||||||
|
"norm_label": "container: oauth2-proxy",
|
||||||
|
"community_name": "Docker-Host: venus-traefik",
|
||||||
|
"id": "digital_twin_oauth2_proxy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker-Host: venus-rustdesk",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "docker-host: venus-rustdesk",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-worker",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-worker",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_lp_manager_worker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-app",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-app",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_lp_manager_app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-onboarding-service",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-onboarding-service",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_lp_onboarding_service"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: dev-widget-nginx",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: dev-widget-nginx",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_dev_widget_nginx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-ui-control",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-ui-control",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_lp_manager_ui_control"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-postgres-leads",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-postgres-leads",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_lp_manager_postgres_leads"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-postgres-platform",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-postgres-platform",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_lp_manager_postgres_platform"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-minio",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-minio",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_lp_manager_minio"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: forgejo",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: forgejo",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_forgejo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: space-agent-ui",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: space-agent-ui",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_space_agent_ui"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: lp-manager-redis",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: lp-manager-redis",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_lp_manager_redis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: quotes-app",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: quotes-app",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_quotes_app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: quotes-db",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: quotes-db",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_quotes_db"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Container: fti-app",
|
||||||
|
"file_type": "concept",
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source_location": null,
|
||||||
|
"community": 0,
|
||||||
|
"norm_label": "container: fti-app",
|
||||||
|
"community_name": "Docker-Host: venus-rustdesk",
|
||||||
|
"id": "digital_twin_fti_app"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_crawler19001210",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_db19001200",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_fc190",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_router190",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_rustdesk_www",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_traefik190_01",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_web19001180",
|
||||||
|
"target": "digital_twin_pve_venus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "INFERRED",
|
||||||
|
"confidence_score": 0.8,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_venus_traefik",
|
||||||
|
"target": "digital_twin_traefik190_01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "INFERRED",
|
||||||
|
"confidence_score": 0.8,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_venus_rustdesk",
|
||||||
|
"target": "digital_twin_rustdesk_www"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_agent_reach",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_bernados_app",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_jmap_proxy",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_omniroute",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_phoenix_onboarding",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_ram_graph_general",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_ram_graph_sovereign",
|
||||||
|
"target": "digital_twin_pve_host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_oauth2_proxy",
|
||||||
|
"target": "digital_twin_venus_traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_traefik",
|
||||||
|
"target": "digital_twin_venus_traefik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_dev_widget_nginx",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_forgejo",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_fti_app",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_app",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_minio",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_postgres_leads",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_postgres_platform",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_redis",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_ui_control",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_manager_worker",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_lp_onboarding_service",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_quotes_app",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_quotes_db",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"relation": "runs_on",
|
||||||
|
"confidence": "EXTRACTED",
|
||||||
|
"confidence_score": 1.0,
|
||||||
|
"source_file": "digital_twin.md",
|
||||||
|
"source": "digital_twin_space_agent_ui",
|
||||||
|
"target": "digital_twin_venus_rustdesk"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hyperedges": []
|
||||||
|
}
|
||||||
7
state/graphify-out/manifest.json
Normal file
7
state/graphify-out/manifest.json
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"digital_twin.md": {
|
||||||
|
"mtime": 1786179392.3292885,
|
||||||
|
"ast_hash": "4cabb774622ad1285edd64b7ec788db3",
|
||||||
|
"semantic_hash": "4cabb774622ad1285edd64b7ec788db3"
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue