meta: auto fqdn

This commit is contained in:
Maxim Devaev 2025-05-07 18:07:09 +03:00
parent bb0656c0cb
commit 6005ed38b9
8 changed files with 16 additions and 13 deletions

View File

@ -4,6 +4,4 @@
# will be displayed in the web interface.
server:
host: localhost.localdomain
kvm: {}
host: "@auto"

View File

@ -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

View File

@ -67,7 +67,7 @@
<hr>
<table>
<td class="server">
<td>Server:</td>
<td>Name:</td>
<td><a id="kvmd-meta-server-host" target="_blank" href="./api/info"></a></td>
</td>
</table>

View File

@ -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

View File

@ -2980,7 +2980,7 @@
</li>
</ul>
<ul class="footer">
<li class="left"><span id="kvmd-meta-server-host" title="Server name (see System/About)"></span>&nbsp; | &nbsp;<span id="kvmd-version-kvmd" title="KVMD version"></span>&nbsp; | &nbsp;<span id="kvmd-version-streamer" title="Streamer version"></span></li>
<li class="left"><span id="kvmd-meta-server-host" title="KVM/Server name (see System/About)"></span>&nbsp; | &nbsp;<span id="kvmd-version-kvmd" title="KVMD version"></span>&nbsp; | &nbsp;<span id="kvmd-version-streamer" title="Streamer version"></span></li>
<li class="right"><a target="_blank" href="https://pikvm.org">PiKVM Project</a>&nbsp; | &nbsp;<a target="_blank" href="https://docs.pikvm.org">Documentation</a>&nbsp; | &nbsp;<a target="_blank" href="https://pikvm.org/support">Support</a></li>
</ul>
</body>

View File

@ -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)")
| &nbsp; | &nbsp;
span#kvmd-version-kvmd(title="KVMD version")
| &nbsp; | &nbsp;

View File

@ -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 = "<i>Invalid meta</i>";
document.title = "PiKVM Index";
}
}

View File

@ -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";