traefik-private-plugins
traefik-private-plugins copied to clipboard
Automatic patch for Traefik supporting private plugins
Traefik private plugin support
Overview
Traefik authors do not see the need to add support for private plugins, forcing to use Traefik Pilot.
They have already rejected several pull requests with different implementations of private plugins (#7725, #7515) and explained their position in detail (comment)
This project adds support for private plugins.
Technical details
Traefik is a big project and maintaining a fork that will contain all the latest updates is too complicated.
I decided to put the support of private plugins into a small patch, which will automatically (using Github Actions) apply to the actual Traefik sources and send the compiled containers to Docker Hub
Docker
docker run -p 80:80 -v $PWD/private-plugins-storage:/private-plugins-storage pagran/traefik:v2.4.0
Usage
To activate the private plugin, you must specify private
in the version
field and place unpacked plugin into ./private-plugins-storage/src
folder.
For example plugindemo:
experimental:
plugins:
plugindemo:
moduleName: plugindemo
version: private
private-plugins-storage/
└── src
└── plugindemo
├── demo.go
├── demo_test.go
├── .gitignore
├── .golangci.toml
├── go.mod
├── LICENSE
├── Makefile
├── readme.md
└── .traefik.yml