blob: 6e2db9edd72c4e1de9bdd8d0d4eb4325cae775c8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
"""Hub info endpoints — /v1/hub/*"""
from fastapi import APIRouter
from meshbay_common import MNP_VERSION, MHP_VERSION
from meshbay_hub import __version__
from meshbay_hub.auth import hub_public_key_pem
from meshbay_hub.db.engine import get_engine
router = APIRouter(prefix="/v1/hub", tags=["hub"])
@router.get("/info")
async def hub_info():
engine = get_engine()
return {
"hub_version": __version__,
"mnp_version": MNP_VERSION,
"mhp_version": MHP_VERSION,
"db_dialect": engine.dialect.name,
}
@router.get("/pubkey")
async def hub_pubkey():
"""Hub Ed25519 public key PEM — cached by nodes on first contact."""
return {"pk_hub_pem": hub_public_key_pem().decode()}
@router.get("/version")
async def hub_version():
"""Version check endpoint for clients to detect updates."""
return {
"hub": __version__,
"mnp": MNP_VERSION,
"mhp": MHP_VERSION,
}
|