update
This commit is contained in:
15
app.py
15
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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user