feat: replace role=infra tag with adoption-based infrastructure detection

Replace the role=infra NodeTag convention with UserProfileNode adoption
as the canonical infrastructure indicator across map, Prometheus metrics,
and alerting. Renames is_infra to is_adopted, infra_center to
adopted_center. Map icons change to blue (adopted) / green (normal),
with all adoption UI gated on OIDC_ENABLED. Adds meshcore_nodes_adopted
gauge and Alembic migration to clean up obsolete tags.
This commit is contained in:
Louis King committed 2026-05-03 19:02:05 +01:00
1 parent c05518c7b9
commit 560eb0796a
14 files changed
+1318 -98

No files matched your search

@@ -0,0 +1,25 @@
"""remove obsolete role and member_id node tags
Revision ID: 20260503_1800
Revises: d7a9bbe85a9e
Create Date: 2026-05-03 18:00:00.000000
"""
from typing import Sequence, Union
from alembic import op
revision: str = "20260503_1800"
down_revision: Union[str, None] = "d7a9bbe85a9e"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute("DELETE FROM node_tags WHERE key = 'role' AND value = 'infra'")
op.execute("DELETE FROM node_tags WHERE key = 'member_id'")
def downgrade() -> None:
pass