Coverage for stepclient_traefik / const.py: 100%
11 statements
« prev ^ index » next coverage.py v7.13.2, created at 2026-01-29 02:37 +0000
« prev ^ index » next coverage.py v7.13.2, created at 2026-01-29 02:37 +0000
1import re
3# --- Label key patterns ---
4ROUTER_RULE_KEY = re.compile(r"^traefik\.http\.routers\.([^.]+)\.rule$")
5ROUTER_TLS_KEY = re.compile(r"^traefik\.http\.routers\.([^.]+)\.tls$")
6ROUTER_CERTRESOLVER_KEY = re.compile(r"^traefik\.http\.routers\.([^.]+)\.tls\.certresolver$")
8# tls.domains[*].main / tls.domains[*].sans
9TLS_DOMAINS_MAIN_KEY = re.compile(r"^traefik\.http\.routers\.([^.]+)\.tls\.domains\[(\d+)\]\.main$")
10TLS_DOMAINS_SANS_KEY = re.compile(r"^traefik\.http\.routers\.([^.]+)\.tls\.domains\[(\d+)\]\.sans$")
12# --- Rule extractors ---
13HOST_CALL_RE = re.compile(r"Host\((.*?)\)")
14HOSTSNI_CALL_RE = re.compile(r"HostSNI\((.*?)\)")
15HOSTREGEXP_CALL_RE = re.compile(r"HostRegexp\(`([^`]+)`\)")
17# Expand a limited set of HostRegexp patterns into concrete hostnames
18# Supports:
19# 1) "{sub:(a|b|c)}.example.com"
20# 2) "^(a|b|c)\.example\.com$"
21BRACED_ALT_RE = re.compile(r"^\{[^:}]+:\(([^)]+)\)\}(.*)$")
22ANCHORED_ALT_RE = re.compile(r"^\^\(([^)]+)\)\\\.([A-Za-z0-9-]+)\\\.([A-Za-z0-9-]+)\$$")