1.8 KiB
1.8 KiB
Plugin System with DI, Signing, and Version Attributes
Module
Concelier
Status
IMPLEMENTED
Description
Plugin architecture using IDependencyInjectionRoutine and ServiceBinding attributes for dependency injection, with isolated AssemblyLoadContext loading. Cosign signature verification and StellaPluginVersion attributes are defined.
Implementation Details
- Modules:
src/Concelier/StellaOps.Concelier.Plugin.Unified/,src/Concelier/__Libraries/StellaOps.Concelier.Core/Orchestration/ - Key Classes:
FeedPluginAdapterFactory(src/Concelier/StellaOps.Concelier.Plugin.Unified/FeedPluginAdapterFactory.cs) - factory creating plugin adapters fromIConnectorPluginimplementationsFeedPluginAdapter(src/Concelier/StellaOps.Concelier.Plugin.Unified/FeedPluginAdapter.cs) - unified adapter wrapping plugin connectorsConnectorRegistrationService(src/Concelier/__Libraries/StellaOps.Concelier.Core/Orchestration/ConnectorRegistrationService.cs) - DI-based plugin discovery and registration- Each connector has an
IConnectorPluginimplementation (e.g.,NvdConnectorPlugin,GhsaConnectorPlugin,VmwareConnectorPlugin, etc.)
- Interfaces:
IConnectorPlugin,IFeedConnector,IConnectorRegistrationService - Source: Feature matrix scan
E2E Test Plan
- Verify plugin discovery: all
IConnectorPluginimplementations are found via DI at startup - Verify
FeedPluginAdapterFactorycreates adapters for each discovered plugin - Verify isolated loading: plugin assemblies load in isolated
AssemblyLoadContextwithout leaking into the host - Verify version attributes: query a loaded plugin and confirm
StellaPluginVersionmetadata is accessible - Verify registration service:
ConnectorRegistrationServiceexposes metadata for all registered plugins