release 1.9.0: monpages top/bottom content markers + surface required
Require meaningful monitoring HTML: sticky-bar/generated at top, footer or taler-mon:bottom at end; ERROR if body is progress-only. Mid-run (incomplete meta or progress without complete foot) relaxes bottom only. GOA always checks taler-monitoring-surface. Generator emits taler-mon markers and taler-mon-page complete|incomplete meta.
This commit is contained in:
parent
e7a3cd558f
commit
757090cbff
6 changed files with 163 additions and 20 deletions
|
|
@ -971,12 +971,15 @@ def build_html(
|
|||
suite_version_url=suite_version_url,
|
||||
)
|
||||
|
||||
kind = "surface" if "surface" in (page_label or "") else "monitoring"
|
||||
return f"""<!DOCTYPE html>
|
||||
<html lang="{html.escape(lang if "lang" in dir() else "en")}">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<meta name="generated" content="{html.escape(generated_iso)}"/>
|
||||
<meta name="taler-mon-page" content="complete"/>
|
||||
<meta name="taler-mon-kind" content="{html.escape(kind)}"/>
|
||||
<title>{html.escape(title)}</title>
|
||||
<style>
|
||||
:root {{
|
||||
|
|
@ -1042,16 +1045,18 @@ footer {{
|
|||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- taler-mon:top -->
|
||||
{bar}
|
||||
<main>
|
||||
{err_nav}
|
||||
<div class="console">
|
||||
<div class="console" id="mon-console">
|
||||
{"".join(body_lines)}
|
||||
</div>
|
||||
<footer>
|
||||
<footer id="mon-footer">
|
||||
{html.escape(footer_txt)}
|
||||
</footer>
|
||||
</main>
|
||||
<!-- taler-mon:bottom:complete -->
|
||||
{STICKY_JS}
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1105,6 +1110,7 @@ def build_redirect_html(
|
|||
suite_version=suite_version,
|
||||
suite_version_url=suite_version_url,
|
||||
)
|
||||
kind = "surface" if "surface" in (page_label or "") else "monitoring"
|
||||
return f"""<!DOCTYPE html>
|
||||
<html lang="{html.escape(lang if "lang" in dir() else "en")}">
|
||||
<head>
|
||||
|
|
@ -1112,6 +1118,8 @@ def build_redirect_html(
|
|||
<meta http-equiv="refresh" content="2; url={html.escape(link)}"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<meta name="generated" content="{html.escape(generated_iso)}"/>
|
||||
<meta name="taler-mon-page" content="incomplete"/>
|
||||
<meta name="taler-mon-kind" content="{html.escape(kind)}"/>
|
||||
<title>{html.escape(page_label)} · errors · {html.escape(hostname)}</title>
|
||||
<style>
|
||||
:root {{
|
||||
|
|
@ -1129,6 +1137,7 @@ body {{ margin: 0; background: var(--bg); color: var(--fg); font-size: 13px; }}
|
|||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- taler-mon:top -->
|
||||
{bar}
|
||||
<div class="box">
|
||||
<p><strong>{html.escape(page_label)}</strong> has failures.</p>
|
||||
|
|
@ -1136,6 +1145,7 @@ body {{ margin: 0; background: var(--bg); color: var(--fg); font-size: 13px; }}
|
|||
error index, and sticky status bar.</p>
|
||||
<p style="color:#666;font-size:12px">generated {html.escape(generated_at)} · source {c}</p>
|
||||
</div>
|
||||
<!-- taler-mon:bottom:incomplete -->
|
||||
{STICKY_JS}
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue