Polish KarlDNS production UI and docs

This commit is contained in:
StasonJatham committed 2026-05-21 10:05:40 +02:00
1 parent ca92dc211a
commit 5beee0e5c6
61 files changed
+1566 -523

No files matched your search

+6 -3
View File
@@ -11,7 +11,7 @@ from fastapi import FastAPI
from starlette.concurrency import run_in_threadpool
from starlette.middleware.trustedhost import TrustedHostMiddleware
from .ddns_dns import DnsConfigurationError, DnsProviderError, delete_dns_records, publish_dns
from .ddns_dns import DnsConfigurationError, DnsProviderError, DnsReconciliationError, delete_dns_records, publish_dns
from .ddns_models import DdnsSettings, UpdateResult
from .ddns_service import DdnsService
from .ddns_store import DdnsStore
@@ -23,6 +23,7 @@ __all__ = [
"DdnsStore",
"DnsConfigurationError",
"DnsProviderError",
"DnsReconciliationError",
"UpdateResult",
"delete_dns_records",
"make_app",
@@ -33,7 +34,7 @@ __all__ = [
OPENAPI_TAGS = [
{
"name": "hostnames",
"description": "Create provider-owned or verified custom DynDNS hostnames.",
"description": "Create KarlDNS hostnames or hostnames under verified domains.",
},
{
"name": "domains",
@@ -45,7 +46,7 @@ OPENAPI_TAGS = [
},
{
"name": "management",
"description": "Bearer-link JSON management for generated hostnames. Dashboard passwords protect only the web dashboard, not these API routes.",
"description": "API management through private dashboard links. Dashboard passwords protect only the web dashboard, not these API routes.",
},
]
@@ -142,6 +143,7 @@ async def _run_cleanup_if_due(store: DdnsStore, settings: DdnsSettings) -> None:
)
except Exception as exc:
LOGGER.exception("Scheduled cleanup failed")
await run_in_threadpool(store.increment_metric, "cleanup_errors_total")
await run_in_threadpool(
store.complete_scheduled_task,
CLEANUP_TASK_NAME,
@@ -157,4 +159,5 @@ async def _run_cleanup_if_due(store: DdnsStore, settings: DdnsSettings) -> None:
True,
"",
)
await run_in_threadpool(store.increment_metric, "cleanup_success_total")
await run_in_threadpool(store.optimize)