Files
patrickandClaude Sonnet 5.5 453c077386 feat: Phase 6d API-Selbsttest gegen Checkmk
Lesender Selbsttest (Version, Services, Hosts, Downtimes) beim Start und
täglich 04:00, Seite /selftest, Teilcheck checkmk_api in /health, Chat-Meldung
bei Wechsel. Toleranter Antwort-Parser (value/members, state_type int/String),
Fallbacks für Host-Abfrage und Downtime-Liste, Fehlerhinweise je HTTP-Status.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 12:55:57 +01:00

54 lines
1.8 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf" content="{{ csrf }}">
<title>{% block title %}checkbot{% endblock %} – checkbot</title>
<link rel="stylesheet" href="/static/app.css">
<script src="/static/app.js" defer></script>
</head>
<body>
<header class="topbar">
<div class="topbar-inner">
<a class="brand" href="/">checkbot</a>
{% if user %}
<nav class="nav" aria-label="Hauptnavigation">
<a href="/">Dashboard</a>
<a href="/alerts">Verlauf</a>
<a href="/routing">Regeln</a>
<a href="/mutes">Stummschaltungen</a>
<a href="/prompts">Prompts</a>
<a href="/selftest">Selbsttest</a>
{% if user.is_admin %}
<a href="/setup">Setup</a>
<a href="/settings/checkmk">Checkmk</a>
<a href="/settings/ollama">Ollama</a>
<a href="/settings/telegram">Telegram</a>
<a href="/settings/matrix">Matrix</a>
<a href="/settings/alerting">Alarmierung</a>
<a href="/settings/checkmk_dt">Downtime</a>
<a href="/settings/retention">Aufbewahrung</a>
<a href="/settings/selftest">Selbsttest-Einstellungen</a>
<a href="/agent">Agent</a>
<a href="/users">Benutzer</a>
<a href="/audit">Audit</a>
{% endif %}
<a href="/account">Konto</a>
<form method="post" action="/logout" class="inline">
{{ csrf_input }}
<button type="submit" class="link">Abmelden ({{ user.username }})</button>
</form>
</nav>
{% endif %}
</div>
</header>
<main class="container">
{% for f in flashes %}
<div class="flash {{ f.kind }}" role="{{ 'alert' if f.kind == 'error' else 'status' }}">{{ f.text }}</div>
{% endfor %}
{% block content %}{% endblock %}
</main>
</body>
</html>