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
|
||||
if not testing:
|
||||
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_dir, app.config["PLUGINS"]
|
||||
)
|
||||
|
||||
@@ -12,14 +12,14 @@ def setup(app: "Quart") -> None:
|
||||
global _app
|
||||
_app = app
|
||||
# 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:
|
||||
from plugins.traefik.scheduler import make_scrape_task
|
||||
from .scheduler import make_scrape_task
|
||||
return [make_scrape_task(_app)]
|
||||
|
||||
|
||||
def get_blueprint():
|
||||
from plugins.traefik.routes import traefik_bp
|
||||
from .routes import traefik_bp
|
||||
return traefik_bp
|
||||
|
||||
@@ -5,7 +5,7 @@ from sqlalchemy import select
|
||||
|
||||
from fablednetmon.auth.middleware import require_role
|
||||
from fablednetmon.models.users import UserRole
|
||||
from plugins.traefik.models import TraefikMetric
|
||||
from .models import TraefikMetric
|
||||
|
||||
traefik_bp = Blueprint("traefik", __name__, template_folder="templates")
|
||||
|
||||
|
||||
@@ -36,8 +36,8 @@ async def _do_scrape(app: "Quart") -> None:
|
||||
global _prev_metrics, _prev_time
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from plugins.traefik.models import TraefikMetric
|
||||
from plugins.traefik.scraper import fetch_metrics, compute_router_metrics
|
||||
from .models import TraefikMetric
|
||||
from .scraper import fetch_metrics, compute_router_metrics
|
||||
from fablednetmon.core.alerts import record_metric
|
||||
|
||||
metrics_url: str = app.config["PLUGINS"]["traefik"]["metrics_url"]
|
||||
|
||||
Reference in New Issue
Block a user