ELLIO_Traefik_Middleware_Plugin

package module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

README

ELLIO Traefik Middleware Plugin Banner

ELLIO Traefik Middleware Plugin

Dynamic IP-based access control for Traefik using ELLIO External Dynamic Lists (EDL)

Technical Preview Go Version CI Status GitHub Release License Go Report Card


Overview

The ELLIO Traefik Middleware Plugin provides IP-based access control for services behind Traefik proxy. It integrates with the ELLIO platform to dynamically manage IP allowlists and blocklists through External Dynamic Lists (EDL).

Prerequisites

  • Traefik v3.0 or later
  • ELLIO Platform account
  • An External Dynamic List (EDL) configured for Traefik Middleware
  • Bootstrap token from your EDL configuration

Documentation

Complete documentation is available at: https://docs.ellio.tech/edl-management/integrations/traefik-middleware/

Setup Guides

Examples

Ready-to-run examples are available in the examples/ directory:

Development

For development setup, testing, and contribution guidelines, see DEVELOPMENT.md.

Support

License

Copyright © 2025 ELLIO Technology s.r.o.

Licensed under the Apache License, Version 2.0. See LICENSE for details.

Trademarks

  • ELLIO is a registered trademark of ELLIO Technology s.r.o.
  • Traefik® is a registered trademark of Traefik Labs
  • All other trademarks are property of their respective owners.

Part of the ELLIO EDL Management Platform
Copyright © ELLIO Technology s.r.o.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(ctx context.Context, next http.Handler, config *Config, name string) (http.Handler, error)

New creates a new middleware instance

func ServeBlockPage

func ServeBlockPage(w http.ResponseWriter)

ServeBlockPage serves the HTML 403 block page

Types

type Config

type Config struct {
	BootstrapToken string   `json:"bootstrapToken,omitempty"`
	LogLevel       string   `json:"logLevel,omitempty"`
	MachineID      string   `json:"machineID,omitempty"`      // Optional machine ID override (defaults to random UUID)
	IPStrategy     string   `json:"ipStrategy,omitempty"`     // "direct" (default), "xff", "real-ip", "custom"
	TrustedHeader  string   `json:"trustedHeader,omitempty"`  // Custom header name when ipStrategy is "custom"
	TrustedProxies []string `json:"trustedProxies,omitempty"` // List of trusted proxy IPs or CIDR ranges
}

Config holds the plugin configuration

func CreateConfig

func CreateConfig() *Config

CreateConfig creates the default plugin configuration

type EllioMiddleware

type EllioMiddleware struct {
	// contains filtered or unexported fields
}

EllioMiddleware is the main plugin structure

func (*EllioMiddleware) ServeHTTP

func (e *EllioMiddleware) ServeHTTP(rw http.ResponseWriter, req *http.Request)

ServeHTTP handles incoming requests

Directories

Path Synopsis
pkg
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL