UtilityPlugin Schema

The UtilityPlugin schema defines the base configuration for cross-cutting concern plugins in the Rusty Beam processing pipeline. These plugins provide supplementary functionality such as logging, compression, security headers, rate limiting, and health monitoring.

Schema Definition

Schema URL: https://rustybeam.net/schema/UtilityPlugin

Parent Schema: https://rustybeam.net/schema/Plugin

Properties

Inheritance: This schema inherits all properties from Plugin including library and plugin.
Property Type Cardinality Description
logfile https://rustybeam.net/schema/URL 0..1 Path to log file for logging plugins (e.g., access log, error log)
directory https://rustybeam.net/schema/Text 0..1 Path prefix for directory-scoped plugins to limit scope of nested plugins (e.g., "/admin", "/api")
enabled https://rustybeam.net/schema/Boolean 0..1 Whether the utility plugin is enabled (default: true)

Usage Examples

Access Log Plugin

<td itemprop="plugin" itemscope itemtype="https://rustybeam.net/schema/AccessLogPlugin">
    <span itemprop="library">file://./plugins/librusty_beam_access_log.so</span>
    <span itemprop="logfile">file://./logs/access.log</span>
</td>

Compression Plugin

<td itemprop="plugin" itemscope itemtype="https://rustybeam.net/schema/CompressionPlugin">
    <span itemprop="library">file://./plugins/librusty_beam_compression.so</span>
    <span itemprop="enabled">true</span>
</td>

Directory-Scoped Plugin

<td itemprop="plugin" itemscope itemtype="https://rustybeam.net/schema/DirectoryPlugin">
    <span itemprop="library">file://./plugins/libdirectory.so</span>
    <span itemprop="directory">/admin</span>
    <!-- Nested plugins here -->
</td>

Child Schemas

Plugin Placement: Utility plugins can appear throughout the pipeline depending on their function:

See Also