aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/api/hub.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/api/hub.py')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/api/hub.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/api/hub.py b/packages/meshbay-hub/src/meshbay_hub/api/hub.py
index a48313d..5a3eb4b 100644
--- a/packages/meshbay-hub/src/meshbay_hub/api/hub.py
+++ b/packages/meshbay-hub/src/meshbay_hub/api/hub.py
@@ -5,6 +5,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from meshbay_common import MNP_VERSION, MHP_VERSION
from meshbay_hub import __version__, hub_settings
+from meshbay_hub.api import federation
from meshbay_hub.auth import hub_public_key_pem
from meshbay_hub.config import HubConfig
from meshbay_hub.db.engine import get_db, get_engine
@@ -32,6 +33,12 @@ async def hub_info(db: AsyncSession = Depends(get_db)):
# reachable before the group list loads. The hub enforces it regardless
# of what any client does with this flag.
"allow_public_groups": await hub_settings.public_groups_allowed(db),
+ # Stated, because `mhp_version` above is otherwise a claim this hub does
+ # not honour: every MHP route refuses while federation is closed (see
+ # `api/federation.py`). A peer finds out at `/mhp/info` either way,
+ # which answers 503 — this is the same answer somewhere an operator can
+ # read it without opening the source.
+ "federation": federation.FEDERATION_ENABLED,
"captcha_site_key": _cfg.captcha.site_key if _cfg and _cfg.captcha.enabled else "",
}