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. # will be displayed in the web interface.
server: server:
host: localhost.localdomain host: "@auto"
kvm: {}

View File

@ -20,6 +20,8 @@
# ========================================================================== # # ========================================================================== #
import socket
from typing import AsyncGenerator from typing import AsyncGenerator
from ....logging import get_logger from ....logging import get_logger
@ -39,7 +41,10 @@ class MetaInfoSubmanager(BaseInfoSubmanager):
async def get_state(self) -> (dict | None): async def get_state(self) -> (dict | None):
try: 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: except Exception:
get_logger(0).exception("Can't parse meta") get_logger(0).exception("Can't parse meta")
return None return None

View File

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

View File

@ -24,7 +24,7 @@ block start
hr hr
table table
td(class="server") td(class="server")
td Server: td Name:
td #[a#kvmd-meta-server-host(target="_blank" href=`${root_prefix}api/info`)] td #[a#kvmd-meta-server-host(target="_blank" href=`${root_prefix}api/info`)]
hr hr

View File

@ -2980,7 +2980,7 @@
</li> </li>
</ul> </ul>
<ul class="footer"> <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> <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> </ul>
</body> </body>

View File

@ -27,7 +27,7 @@ block body
ul.footer ul.footer
li.left 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; | &nbsp; | &nbsp;
span#kvmd-version-kvmd(title="KVMD version") span#kvmd-version-kvmd(title="KVMD version")
| &nbsp; | &nbsp; | &nbsp; | &nbsp;

View File

@ -115,10 +115,10 @@ function __showKvmdInfo(info) {
} }
if (info.meta !== null && info.meta.server && info.meta.server.host) { if (info.meta !== null && info.meta.server && info.meta.server.host) {
$("kvmd-meta-server-host").innerHTML = info.meta.server.host; $("kvmd-meta-server-host").innerText = info.meta.server.host;
document.title = `PiKVM Index: ${info.meta.server.host}`; document.title = `${info.meta.server.host} | PiKVM Index`;
} else { } else {
$("kvmd-meta-server-host").innerHTML = ""; $("kvmd-meta-server-host").innerHTML = "<i>Invalid meta</i>";
document.title = "PiKVM Index"; document.title = "PiKVM Index";
} }
} }

View File

@ -57,8 +57,8 @@ export function Info() {
$("kvmd-meta-json").innerText = JSON.stringify(state, undefined, 4); $("kvmd-meta-json").innerText = JSON.stringify(state, undefined, 4);
if (state.server && state.server.host) { if (state.server && state.server.host) {
$("kvmd-meta-server-host").innerText = `Server: ${state.server.host}`; $("kvmd-meta-server-host").innerText = state.server.host;
document.title = `PiKVM Session: ${state.server.host}`; document.title = `${state.server.host} | PiKVM Session`;
} else { } else {
$("kvmd-meta-server-host").innerText = ""; $("kvmd-meta-server-host").innerText = "";
document.title = "PiKVM Session"; document.title = "PiKVM Session";