Traefik Plugins Experimental Configuration
Overview
This guide provides instructions on how to configure and use the new experimental plugins install configuration option in Traefik. The plugins option introduces a system to extend Traefik capabilities with custom middlewares and providers.
!!! warning "Experimental"
The `plugins` option is currently experimental and subject to change in future releases.
Use with caution in production environments.
Enabling Plugins
The plugins option is an install configuration parameter. To enable a plugin, you need to define it in your Traefik install configuration
experimental:
plugins:
plugin-name: # The name of the plugin in the routing configuration
moduleName: "github.com/github-organization/github-repository" # The plugin module name
version: "vX.XX.X" # The version to use
[experimental.plugins.plugin-name]
moduleName = "github.com/github-organization/github-repository" # The plugin module name
version = "vX.XX.X" # The version to use
# The plugin module name
# With plugin-name the name of the plugin in the routing configuration
--experimental.plugins.plugin-name.modulename=github.com/github-organization/github-repository
--experimental.plugins.plugin-name.version=vX.XX.X # The version to use
To learn more about how to add a new plugin to a Traefik instance, please refer to the developer documentation.
Plugin Options
| Field | Description | Type | Required |
|---|---|---|---|
moduleName |
Plugin's module name. | string | Yes |
version |
Plugin's version. | string | Yes |
hash |
Plugin's hash to validate. | string | No |
settings |
Plugin's settings (works only for wasm plugins). | object | No |
settings.envs |
Environment variables to forward to the wasm guest. | []string | No |
settings.mounts |
Directory to mount to the wasm guest. | []string | No |
settings.useUnsafe |
Allow the plugin to use unsafe and syscall packages. | bool | No |
Local Plugins
Local plugins allow you to use plugins from a local directory, without publishing them to the Traefik plugin catalog.
experimental:
localPlugins:
plugin-name: # The name of the plugin in the routing configuration
moduleName: "github.com/github-organization/github-repository" # The plugin module name
[experimental.localPlugins.plugin-name]
moduleName = "github.com/github-organization/github-repository" # The plugin module name
# The plugin module name
# With plugin-name the name of the plugin in the routing configuration
--experimental.localplugins.plugin-name.modulename=github.com/github-organization/github-repository
Local Plugin Options
| Field | Description | Type | Required |
|---|---|---|---|
moduleName |
Plugin's module name. | string | Yes |
settings |
Plugin's settings (works only for wasm plugins). | object | No |
settings.envs |
Environment variables to forward to the wasm guest. | []string | No |
settings.mounts |
Directory to mount to the wasm guest. | []string | No |
settings.useUnsafe |
Allow the plugin to use unsafe and syscall packages. | bool | No |
这篇文档对你有帮助吗?
谢谢你的反馈!