Skip to content

Releases: hhftechnology/middleware-manager

v3.0.3

03 Oct 12:28
4c4258f

Choose a tag to compare

What's Changed

Full Changelog: v3.0.2...v3.0.3

v3.0.2

28 Aug 04:19
50cbd61

Choose a tag to compare

What's Changed

Full Changelog: v3.0.1...v3.0.2

v3.0.1

20 May 10:53
277e491

Choose a tag to compare

What's Changed

Full Changelog: v3.0.0...v3.0.1

v3.0.0

19 May 11:28
89ed4ae

Choose a tag to compare

What's Changed

This update significantly expands Middleware Manager's capabilities by introducing full support for managing Traefik Services and Traefik Plugins.

Key Changes:

  • Traefik Service Management (Go & React):

    • Added backend logic (models, handlers, fetcher, watcher, config generator) for creating, reading, updating, deleting, and assigning custom Traefik services (LoadBalancer, Weighted, Mirroring, Failover).
    • Implemented new UI components (ServicesList, ServiceForm, ServiceSelectModal in ResourceDetail) for managing services and assigning them to resources.
    • Service configurations are now loaded from templates_services.yaml and persisted in the database.
    • The config generator now includes a services section in the dynamic Traefik configuration.
  • Traefik Plugin Hub (Go & React):

    • Added backend API endpoints to list available plugins (from a configurable JSON URL), install/remove plugins by modifying Traefik's static configuration file, and manage the path to this static config.
    • Implemented a "Plugin Hub" page in the UI allowing users to browse, install, and remove plugins.
    • Added TRAEFIK_STATIC_CONFIG_PATH and PLUGINS_JSON_URL environment variables for configuration.
  • Backend Enhancements:

    • main.go: Updated to initialize and start the new ServiceWatcher, and to load service templates. Corrected ServiceInterval usage. Passes static config path and plugins URL to API server.
    • ConfigManager: Now handles TRAEFIK_STATIC_CONFIG_PATH.
    • ConfigGenerator: Now processes and includes custom service definitions in the generated resource-overrides.yml.
    • ResourceFetcher and ServiceFetcher: Refined to handle different data source types (Pangolin, Traefik API) more robustly for both resources and services.
    • Database migrations updated for services and resource_services tables.
    • Models for Service, TraefikService, and plugin structures introduced.
  • Frontend Enhancements:

    • New contexts (ServiceContext, PluginContext) and updates to AppContext and api.js service layer.
    • New UI components for service and plugin management.
    • Improved error handling and loading states across relevant components.
    • Enhanced ResourceDetail page to include service assignment and more detailed configuration modals.
    • Updated main.css for new components and improved dark mode compatibility.
  • Documentation (README.md):

    • Fully rewritten to include detailed information and examples for the new Service Management and Plugin Hub features.
    • Updated Docker Compose examples, including a more comprehensive Pangolin stack example.
    • Clarified environment variables and configuration steps.
  • Added styles in main.css the were missing for dark mode by @oidebrett in #28

  • Traefik int by @oidebrett in #30

  • Traefik Services by @hhftechnology in #34

  • Integrate Traefik Services and Plugin Management by @hhftechnology in #35

  • Integrate Traefik Services and Plugin Management by @hhftechnology in #36

New Contributors

v2.0.0

29 Apr 07:13

Choose a tag to compare

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/).

v1.0.9

29 Apr 06:36

Choose a tag to compare

Full Changelog: v1.0.7...v1.0.9

v1.0.8

18 Apr 15:34

Choose a tag to compare

Full Changelog: v1.0.7...v1.0.8

v1.0.7

18 Apr 15:33
e73aaa2

Choose a tag to compare

What's Changed

Full Changelog: v1.0.6...v1.0.7

v1.0.6

16 Apr 07:44
5dce3a3

Choose a tag to compare

What's Changed

Full Changelog: v1.0.5...v1.0.6

v1.0.5

16 Apr 07:43
d0de234

Choose a tag to compare

Darkmode