Releases: hhftechnology/middleware-manager
v3.0.3
What's Changed
- Traefik int by @hhftechnology in #66
- Dev by @hhftechnology in #67
Full Changelog: v3.0.2...v3.0.3
v3.0.2
What's Changed
- Updated ConfirmationModal to support alerts and changed alerts in PluginContext by @oidebrett in #45
- Traefik int by @hhftechnology in #62
Full Changelog: v3.0.1...v3.0.2
v3.0.1
What's Changed
- Traefik API Issue Patch by @hhftechnology in #42
- Dev by @hhftechnology in #44
Full Changelog: v3.0.0...v3.0.1
v3.0.0
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.yamland persisted in the database. - The config generator now includes a
servicessection 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_PATHandPLUGINS_JSON_URLenvironment variables for configuration.
-
Backend Enhancements:
main.go: Updated to initialize and start the new ServiceWatcher, and to load service templates. CorrectedServiceIntervalusage. Passes static config path and plugins URL to API server.ConfigManager: Now handlesTRAEFIK_STATIC_CONFIG_PATH.ConfigGenerator: Now processes and includes custom service definitions in the generatedresource-overrides.yml.ResourceFetcherandServiceFetcher: Refined to handle different data source types (Pangolin, Traefik API) more robustly for both resources and services.- Database migrations updated for
servicesandresource_servicestables. - Models for
Service,TraefikService, and plugin structures introduced.
-
Frontend Enhancements:
- New contexts (
ServiceContext,PluginContext) and updates toAppContextandapi.jsservice 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.cssfor new components and improved dark mode compatibility.
- New contexts (
-
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
- @oidebrett made their first contribution in #28
v2.0.0
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
-
Default File Paths: The default file paths for configuration have changed. If you used custom paths, you may need to update your volume mappings.
-
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
- Stop your existing Middleware Manager instance
- Back up your database and configuration files
- Update to the latest version
- Create a
config.jsonfile if you want to use the Traefik API - 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:
- Create a
config.jsonfile in your configuration directory:
{
"active_data_source": "traefik",
"data_sources": {
"traefik": {
"type": "traefik",
"url": "http://traefik:8080",
"basic_auth": {
"username": "",
"password": ""
}
}
}
}- Update your environment variables to include
ACTIVE_DATA_SOURCE=traefik - Ensure your Traefik instance has the API enabled
- 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
Full Changelog: v1.0.7...v1.0.9
v1.0.8
Full Changelog: v1.0.7...v1.0.8
v1.0.7
What's Changed
- Sni Support-Experimental feature by @hhftechnology in #11
Full Changelog: v1.0.6...v1.0.7
v1.0.6
v1.0.5
Darkmode