Skip to content

[FEATURE]: Create plugin framework settings #2831

@araujof

Description

@araujof

New Plugin Settings

Segment the configuration for the plugin framework:

# plugins/framework/settings.py
from pydantic_settings import BaseSettings, SettingsConfigDict

class PluginsSettings(BaseSettings):
    """Plugin framework configuration."""
    plugin_timeout: int = 30
    plugin_mode: str = "ENFORCE"
    log_level: str = "INFO"
    skip_ssl_verify: bool = False
    http_timeout: int = 30
    max_connections: int = 100
    # ... only settings plugin framework actually needs

    model_config = SettingsConfigDict(env_prefix="PLUGINS_")

settings = PluginsSettings()

Tasks:

  • Create plugins/framework/settings.py with PluginsSettings class
  • Use PLUGINS_ env var prefix for configuration
  • Support runtime override via dependency injection

HTTP Client Helpers

Replace mcpgateway.services.http_client_service helpers:

Tasks:

  • Use plugin framework's own settings.http_timeout for timeouts
  • Use plugin framework's own settings.skip_ssl_verify for SSL verification
  • Remove get_default_verify, get_http_timeout imports

Metadata

Metadata

Assignees

Labels

SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releaseenhancementNew feature or requestplugins

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions