update
This commit is contained in:
parent
172bbaa824
commit
8fabfbb916
15
app.py
15
app.py
@ -20,10 +20,25 @@ def filter_routers(routers):
|
|||||||
for router in routers:
|
for router in routers:
|
||||||
for pattern in REGEX_PATTERNS:
|
for pattern in REGEX_PATTERNS:
|
||||||
if re.match(pattern, router['rule'].split('`')[1]):
|
if re.match(pattern, router['rule'].split('`')[1]):
|
||||||
|
router['description'] = get_router_description(router['name'])
|
||||||
filtered_routers.append(router)
|
filtered_routers.append(router)
|
||||||
break
|
break
|
||||||
return filtered_routers
|
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):
|
def truncate_and_uppercase_name(name):
|
||||||
return name.split('@')[0].upper()
|
return name.split('@')[0].upper()
|
||||||
|
|
||||||
|
@ -71,6 +71,11 @@ body {
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.router p {
|
||||||
|
margin: 10px 0 0;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
/* Dark Mode */
|
/* Dark Mode */
|
||||||
.dark-mode {
|
.dark-mode {
|
||||||
background-color: #121212;
|
background-color: #121212;
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
{% for router in routers %}
|
{% for router in routers %}
|
||||||
<div class="router" onclick="location.href='http://{{ router['rule'].split('`')[1] }}'">
|
<div class="router" onclick="location.href='http://{{ router['rule'].split('`')[1] }}'">
|
||||||
<h2>{{ router['truncated_name'] }}</h2>
|
<h2>{{ router['truncated_name'] }}</h2>
|
||||||
|
<p>{{ router['description'] }}</p>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user