Skip to main content

Plugin Overview

Bifrost plugins provide middleware functionality:
  • Request/response processing and modification
  • Authentication and authorization controls
  • Rate limiting and traffic shaping
  • Monitoring and metrics collection
  • Custom business logic injection

Current Plugin Loading (Command-line)

Go Binary:
Docker:

Available Plugins

Maxim Logger Plugin

Official logging and analytics plugin:
Features:
  • Request/response logging to Maxim platform
  • Performance analytics and insights
  • Error tracking and debugging
  • Usage pattern analysis

Prometheus Metrics Plugin

Built-in metrics collection (always loaded):
Metrics provided:
  • Request count and latency
  • Provider performance
  • Error rates and types
  • Resource utilization

Custom Plugin Development

Plugin Interface

Plugins implement the schemas.Plugin interface:

Example Plugin Structure


Plugin Use Cases

Authentication Plugin

Rate Limiting Plugin

Request Transformation Plugin


Future JSON Configuration

Planned configuration format (under development):

Testing Custom Plugins

Unit Testing

Integration Testing


Plugin Execution Order

Plugins execute in loading order:
Request flow:
  1. auth.ProcessRequest()
  2. rate-limit.ProcessRequest()
  3. maxim.ProcessRequest()
  4. Provider request
  5. maxim.ProcessResponse()
  6. rate-limit.ProcessResponse()
  7. auth.ProcessResponse()
Architecture: For plugin system design and performance details, see Architecture Documentation.
Development: Full plugin development guide and examples available in Go Package Plugins.