github hhftechnology/middleware-manager v3.0.0

latest releases: v3.0.2, v3.0.1
3 months ago

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

Don't miss a new middleware-manager release

NewReleases is sending notifications on new releases.