> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For full documentation content, see https://docs.nvidia.com/nemo/relay/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Module plugin

> Generic plugin infrastructure for NeMo Relay runtimes.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi`.

Generic plugin infrastructure for NeMo Relay runtimes.

This module owns:

* config diagnostics and policy enums used by plugin systems
* a global plugin registry
* plugin registration contexts for middleware/subscriber installation
* rollback bookkeeping for registrations created during plugin setup

## Structs

* [ConfigDiagnostic](/reference/api/rust-library-reference/nemo-relay/plugin/struct-configdiagnostic): One validation or compatibility diagnostic.
* [ConfigPolicy](/reference/api/rust-library-reference/nemo-relay/plugin/struct-configpolicy): Policy for how unsupported plugin/runtime config is handled.
* [ConfigReport](/reference/api/rust-library-reference/nemo-relay/plugin/struct-configreport): Structured validation report.
* [PluginComponentSpec](/reference/api/rust-library-reference/nemo-relay/plugin/struct-plugincomponentspec): One configured plugin component.
* [PluginConfig](/reference/api/rust-library-reference/nemo-relay/plugin/struct-pluginconfig): Canonical plugin configuration document.
* [PluginRegistration](/reference/api/rust-library-reference/nemo-relay/plugin/struct-pluginregistration): Bookkeeping for one middleware/subscriber registration.
* [PluginRegistrationContext](/reference/api/rust-library-reference/nemo-relay/plugin/struct-pluginregistrationcontext): Context provided to plugin handlers during runtime registration.

## Enums

* [DiagnosticLevel](/reference/api/rust-library-reference/nemo-relay/plugin/enum-diagnosticlevel): Diagnostic severity.
* [PluginError](/reference/api/rust-library-reference/nemo-relay/plugin/enum-pluginerror): Error type for generic plugin operations.
* [UnsupportedBehavior](/reference/api/rust-library-reference/nemo-relay/plugin/enum-unsupportedbehavior): Per-policy behavior for unsupported configuration.

## Traits

* [Plugin](/reference/api/rust-library-reference/nemo-relay/plugin/trait-plugin): Implemented by custom plugins that register runtime middleware.

## Functions

* [active\_plugin\_report](/reference/api/rust-library-reference/nemo-relay/plugin/fn-active-plugin-report): Returns the last successfully configured plugin report.
* [clear\_plugin\_configuration](/reference/api/rust-library-reference/nemo-relay/plugin/fn-clear-plugin-configuration): Deregisters and clears all configured plugin components.
* [deregister\_plugin](/reference/api/rust-library-reference/nemo-relay/plugin/fn-deregister-plugin): Removes a previously registered plugin.
* [ensure\_builtin\_plugins\_registered](/reference/api/rust-library-reference/nemo-relay/plugin/fn-ensure-builtin-plugins-registered): Registers core-provided plugin kinds.
* [initialize\_plugins](/reference/api/rust-library-reference/nemo-relay/plugin/fn-initialize-plugins): Configures the active global plugin components.
* [list\_plugin\_kinds](/reference/api/rust-library-reference/nemo-relay/plugin/fn-list-plugin-kinds): Lists registered plugin kinds in sorted order.
* [lookup\_plugin](/reference/api/rust-library-reference/nemo-relay/plugin/fn-lookup-plugin): Looks up a registered plugin by kind.
* [register\_plugin](/reference/api/rust-library-reference/nemo-relay/plugin/fn-register-plugin): Registers a plugin by kind.
* [rollback\_registrations](/reference/api/rust-library-reference/nemo-relay/plugin/fn-rollback-registrations): Rolls back registrations in reverse order, ignoring rollback failures.
* [validate\_plugin\_config](/reference/api/rust-library-reference/nemo-relay/plugin/fn-validate-plugin-config): Validates a plugin configuration document.

## Type Aliases

* [Result](/reference/api/rust-library-reference/nemo-relay/plugin/type-result): Specialized [`Result`](https://doc.rust-lang.org/1.93.0/core/result/enum.Result.html) type for plugin operations.