This commit is contained in:
Bast 2026-11-02 23:10:24 -06:00
parent a39d256d62
commit 3224e5ad61

View file

@ -1,7 +1,6 @@
import json
import base64
import requests
import traceback
from django.http import JsonResponse
from django.views.generic import TemplateView, View
@ -12,8 +11,8 @@ class ClusterGraphDataView(View):
def get(self, request, *args, **kwargs):
try:
repo_name = request.GET.get("repo", "boday_tf")
# DIE RETTUNG: Nutzt das Docker-Host-Gateway, damit der K3s-Pod Consul auf dem Host erreicht!
consul_url = f"http://172.17.0{repo_name}"
# ENTERPRISE RESOLUTION: Nutzt wieder das native Docker-DNS im gemeinsamen Netzwerk!
consul_url = f"http://consul:8500/v1/kv/terraform/states/{repo_name}"
response = requests.get(consul_url, timeout=5)
if response.status_code == 404:
@ -30,7 +29,7 @@ class ClusterGraphDataView(View):
raw_value = consul_data.get("Value")
if not raw_value:
return JsonResponse({"name": f"Key '{repo_name}' geladen, aber Value ist leer.", "type": "Root", "children": []})
return JsonResponse({"name": f"Key '{repo_name}' leer.", "type": "Root", "children": []})
state_json = json.loads(base64.b64decode(raw_value).decode('utf-8'))
resources = state_json.get("resources", [])
@ -67,7 +66,7 @@ class ClusterGraphDataView(View):
deployments[actual_name] = {"name": actual_name, "type": "Deployment"}
root_node = {
"name": f"Consul Storage: {repo_name}",
"name": f"Consul: {repo_name}",
"type": "Root",
"children": []
}