From 6005ed38b9961062446cba50c3be7fe119edc7ec Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Wed, 7 May 2025 18:07:09 +0300 Subject: [PATCH] meta: auto fqdn --- configs/kvmd/meta.yaml | 4 +--- kvmd/apps/kvmd/info/meta.py | 7 ++++++- web/index.html | 2 +- web/index.pug | 2 +- web/kvm/index.html | 2 +- web/kvm/index.pug | 2 +- web/share/js/index/main.js | 6 +++--- web/share/js/kvm/info.js | 4 ++-- 8 files changed, 16 insertions(+), 13 deletions(-) diff --git a/configs/kvmd/meta.yaml b/configs/kvmd/meta.yaml index a9de085e..794d14d1 100644 --- a/configs/kvmd/meta.yaml +++ b/configs/kvmd/meta.yaml @@ -4,6 +4,4 @@ # will be displayed in the web interface. server: - host: localhost.localdomain - -kvm: {} + host: "@auto" diff --git a/kvmd/apps/kvmd/info/meta.py b/kvmd/apps/kvmd/info/meta.py index 996e648a..320796bf 100644 --- a/kvmd/apps/kvmd/info/meta.py +++ b/kvmd/apps/kvmd/info/meta.py @@ -20,6 +20,8 @@ # ========================================================================== # +import socket + from typing import AsyncGenerator from ....logging import get_logger @@ -39,7 +41,10 @@ class MetaInfoSubmanager(BaseInfoSubmanager): async def get_state(self) -> (dict | None): try: - return ((await aiotools.run_async(load_yaml_file, self.__meta_path)) or {}) + meta = ((await aiotools.run_async(load_yaml_file, self.__meta_path)) or {}) + if meta["server"]["host"] == "@auto": + meta["server"]["host"] = socket.getfqdn() + return meta except Exception: get_logger(0).exception("Can't parse meta") return None diff --git a/web/index.html b/web/index.html index af565537..267841ef 100644 --- a/web/index.html +++ b/web/index.html @@ -67,7 +67,7 @@
+
- Server:Name:
diff --git a/web/index.pug b/web/index.pug index b700a1db..123861f6 100644 --- a/web/index.pug +++ b/web/index.pug @@ -24,7 +24,7 @@ block start hr table td(class="server") - td Server: + td Name: td #[a#kvmd-meta-server-host(target="_blank" href=`${root_prefix}api/info`)] hr diff --git a/web/kvm/index.html b/web/kvm/index.html index a862cfea..ed5ffd03 100644 --- a/web/kvm/index.html +++ b/web/kvm/index.html @@ -2980,7 +2980,7 @@ diff --git a/web/kvm/index.pug b/web/kvm/index.pug index 2ec76cb3..c6ceb57c 100644 --- a/web/kvm/index.pug +++ b/web/kvm/index.pug @@ -27,7 +27,7 @@ block body ul.footer li.left - span#kvmd-meta-server-host(title="Server name (see System/About)") + span#kvmd-meta-server-host(title="KVM/Server name (see System/About)") |   |   span#kvmd-version-kvmd(title="KVMD version") |   |   diff --git a/web/share/js/index/main.js b/web/share/js/index/main.js index aa425c00..cbd32468 100644 --- a/web/share/js/index/main.js +++ b/web/share/js/index/main.js @@ -115,10 +115,10 @@ function __showKvmdInfo(info) { } if (info.meta !== null && info.meta.server && info.meta.server.host) { - $("kvmd-meta-server-host").innerHTML = info.meta.server.host; - document.title = `PiKVM Index: ${info.meta.server.host}`; + $("kvmd-meta-server-host").innerText = info.meta.server.host; + document.title = `${info.meta.server.host} | PiKVM Index`; } else { - $("kvmd-meta-server-host").innerHTML = ""; + $("kvmd-meta-server-host").innerHTML = "Invalid meta"; document.title = "PiKVM Index"; } } diff --git a/web/share/js/kvm/info.js b/web/share/js/kvm/info.js index eaabc45b..7fbf766f 100644 --- a/web/share/js/kvm/info.js +++ b/web/share/js/kvm/info.js @@ -57,8 +57,8 @@ export function Info() { $("kvmd-meta-json").innerText = JSON.stringify(state, undefined, 4); if (state.server && state.server.host) { - $("kvmd-meta-server-host").innerText = `Server: ${state.server.host}`; - document.title = `PiKVM Session: ${state.server.host}`; + $("kvmd-meta-server-host").innerText = state.server.host; + document.title = `${state.server.host} | PiKVM Session`; } else { $("kvmd-meta-server-host").innerText = ""; document.title = "PiKVM Session";