diff --git a/app.py b/app.py index cbd4587..d1ef2de 100644 --- a/app.py +++ b/app.py @@ -20,10 +20,25 @@ def filter_routers(routers): for router in routers: for pattern in REGEX_PATTERNS: if re.match(pattern, router['rule'].split('`')[1]): + router['description'] = get_router_description(router['name']) filtered_routers.append(router) break return filtered_routers +def get_router_description(router_name): + try: + service_name = router_name.split('@')[0] + response = requests.get("http://localhost:2375/containers/json?filters={%22name%22:[%22" + service_name + "%22]}") + containers = response.json() + if containers: + container = containers[0] + labels = container.get('Labels', {}) + print(labels) + return labels.get('traefik.http.routers.' + service_name + '.description', 'No description available') + except Exception as e: + print(f"Error fetching description for {router_name}: {e}") + return 'No description available' + def truncate_and_uppercase_name(name): return name.split('@')[0].upper() diff --git a/static/styles.css b/static/styles.css index 249d03e..2082968 100644 --- a/static/styles.css +++ b/static/styles.css @@ -71,6 +71,11 @@ body { text-transform: uppercase; } +.router p { + margin: 10px 0 0; + color: #666; +} + /* Dark Mode */ .dark-mode { background-color: #121212; diff --git a/templates/index.html b/templates/index.html index 13e269e..c812017 100644 --- a/templates/index.html +++ b/templates/index.html @@ -30,6 +30,7 @@ {% for router in routers %}
{{ router['description'] }}