github hhftechnology/middleware-manager v2.0.0

latest releases: v3.0.2, v3.0.1, v3.0.0...
4 months ago

Middleware Manager v2.0.0 Release Documentation

Release Date: April 29, 2025

Overview

We are excited to announce the release of Middleware Manager v2.0.0, which introduces significant architectural improvements and new features, most notably the ability to operate completely independently of Pangolin by connecting directly to the Traefik API.

This major update transforms the Middleware Manager into a versatile tool suitable for any Traefik deployment, whether as part of the Pangolin stack or as a standalone service with any Traefik instance.

Key New Features

Dual Data Source Architecture

  • Traefik API Integration: Connect directly to Traefik's API without requiring Pangolin
  • Runtime Switching: Toggle between Pangolin and Traefik data sources through the UI
  • Connection Testing: Built-in connection testing for both data sources
  • Auto-Discovery: Attempts to automatically locate Traefik API endpoints

Enhanced Configuration Management

  • Config.json Support: External configuration file for data source settings
  • Environment Variable Control: Set the active data source via environment variables
  • Persistent Settings: Data source configurations are saved across restarts

Improved Router Configuration

  • Enhanced TCP SNI Routing: Better support for TCP services with custom SNI rules
  • TLS Certificate Management: Configure additional Subject Alternative Names (SANs)
  • Router Priority Management: Control precedence when multiple routers match
  • Custom Headers Configuration: Add custom headers to backend service requests

User Interface Improvements

  • Dark Mode Support: Toggle between light and dark themes
  • Data Source Settings Panel: Manage connections through a dedicated UI
  • Connection Status Indicators: Visual feedback for data source connectivity
  • Improved Error Messages: Better troubleshooting information

Breaking Changes

  1. Default File Paths: The default file paths for configuration have changed. If you used custom paths, you may need to update your volume mappings.

  2. Router IDs: The format of router IDs generated by the Middleware Manager has changed. This will not affect existing setups but may impact any scripts or tools that interact with the generated configuration files.

Upgrade Instructions

Docker Compose

Update your docker-compose.yml file:

middleware-manager:
  image: hhftechnology/middleware-manager:latest  # No change to image reference
  container_name: middleware-manager
  restart: unless-stopped
  volumes:
    - ./data:/data
    - ./config/traefik/rules:/conf
    - ./config/middleware-manager/templates.yaml:/app/config/templates.yaml  # Optional
    - ./config/middleware-manager/config.json:/app/config/config.json  # New volume for config
  environment:
    - PANGOLIN_API_URL=http://pangolin:3001/api/v1
    - TRAEFIK_API_URL=http://traefik:8080  # New environment variable
    - TRAEFIK_CONF_DIR=/conf
    - DB_PATH=/data/middleware.db
    - PORT=3456
    # Optional: Set default data source
    # - ACTIVE_DATA_SOURCE=traefik
  ports:
    - "3456:3456"

Manual Installation

  1. Stop your existing Middleware Manager instance
  2. Back up your database and configuration files
  3. Update to the latest version
  4. Create a config.json file if you want to use the Traefik API
  5. Start the Middleware Manager with updated environment variables

Migration Notes

Moving from Pangolin to Standalone Traefik

If you want to use the Middleware Manager with a standalone Traefik instance:

  1. Create a config.json file in your configuration directory:
{
  "active_data_source": "traefik",
  "data_sources": {
    "traefik": {
      "type": "traefik",
      "url": "http://traefik:8080",
      "basic_auth": {
        "username": "",
        "password": ""
      }
    }
  }
}
  1. Update your environment variables to include ACTIVE_DATA_SOURCE=traefik
  2. Ensure your Traefik instance has the API enabled
  3. Start the Middleware Manager and verify the connection in the settings panel

Database Compatibility

The database schema has been updated to support the new features. The Middleware Manager will automatically migrate your existing database on startup.

Fixed Issues

  • Fixed empty string handling in header middleware configurations
  • Fixed router priority not being properly applied in generated configurations
  • Fixed issues with TCP SNI router generation
  • Improved connection error handling and reporting
  • Resolved issues with middleware ordering and chaining

Known Issues

  • When switching between data sources, you may need to refresh the browser to see the updated resource list
  • Some complex middleware configurations may require manual adjustment
  • Very large installations may experience performance issues when loading many resources

Contributors

This release would not have been possible without the contributions and feedback from the community. Special thanks to:

  • The HHF Technology team for leading the development
  • All users who provided valuable feedback and feature requests
  • Everyone who helped test the new Traefik API integration

For more information, please visit our [GitHub repository](https://github.com/hhftechnology/middleware-manager) or join our [community forum](https://forum.hhf.technology/).

Don't miss a new middleware-manager release

NewReleases is sending notifications on new releases.