fix: use relative imports in traefik plugin to prevent double-registration; resolve PLUGIN_DIR path
This commit is contained in:
+1
-1
@@ -38,7 +38,7 @@ def create_app(
|
|||||||
# Run migrations (core + plugin) synchronously before event loop starts
|
# Run migrations (core + plugin) synchronously before event loop starts
|
||||||
if not testing:
|
if not testing:
|
||||||
from .core.migration_runner import run_migrations, get_plugin_migration_dirs
|
from .core.migration_runner import run_migrations, get_plugin_migration_dirs
|
||||||
_plugin_dir = Path(app.config["PLUGIN_DIR"])
|
_plugin_dir = Path(app.config["PLUGIN_DIR"]).resolve()
|
||||||
_plugin_migration_dirs = get_plugin_migration_dirs(
|
_plugin_migration_dirs = get_plugin_migration_dirs(
|
||||||
_plugin_dir, app.config["PLUGINS"]
|
_plugin_dir, app.config["PLUGINS"]
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ def setup(app: "Quart") -> None:
|
|||||||
global _app
|
global _app
|
||||||
_app = app
|
_app = app
|
||||||
# Import model to register with SQLAlchemy metadata
|
# Import model to register with SQLAlchemy metadata
|
||||||
from plugins.traefik.models import TraefikMetric # noqa: F401
|
from .models import TraefikMetric # noqa: F401
|
||||||
|
|
||||||
|
|
||||||
def get_scheduled_tasks() -> list:
|
def get_scheduled_tasks() -> list:
|
||||||
from plugins.traefik.scheduler import make_scrape_task
|
from .scheduler import make_scrape_task
|
||||||
return [make_scrape_task(_app)]
|
return [make_scrape_task(_app)]
|
||||||
|
|
||||||
|
|
||||||
def get_blueprint():
|
def get_blueprint():
|
||||||
from plugins.traefik.routes import traefik_bp
|
from .routes import traefik_bp
|
||||||
return traefik_bp
|
return traefik_bp
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from sqlalchemy import select
|
|||||||
|
|
||||||
from fablednetmon.auth.middleware import require_role
|
from fablednetmon.auth.middleware import require_role
|
||||||
from fablednetmon.models.users import UserRole
|
from fablednetmon.models.users import UserRole
|
||||||
from plugins.traefik.models import TraefikMetric
|
from .models import TraefikMetric
|
||||||
|
|
||||||
traefik_bp = Blueprint("traefik", __name__, template_folder="templates")
|
traefik_bp = Blueprint("traefik", __name__, template_folder="templates")
|
||||||
|
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ async def _do_scrape(app: "Quart") -> None:
|
|||||||
global _prev_metrics, _prev_time
|
global _prev_metrics, _prev_time
|
||||||
|
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
from plugins.traefik.models import TraefikMetric
|
from .models import TraefikMetric
|
||||||
from plugins.traefik.scraper import fetch_metrics, compute_router_metrics
|
from .scraper import fetch_metrics, compute_router_metrics
|
||||||
from fablednetmon.core.alerts import record_metric
|
from fablednetmon.core.alerts import record_metric
|
||||||
|
|
||||||
metrics_url: str = app.config["PLUGINS"]["traefik"]["metrics_url"]
|
metrics_url: str = app.config["PLUGINS"]["traefik"]["metrics_url"]
|
||||||
|
|||||||
Reference in New Issue
Block a user